Имам изображение, което показва два кръга с един и същи център, но с различен радиус - вътрешен и външен кръг. Трябва да проверя дали тези два кръга са "счупени", това означава, че формата на кръговете е по някакъв начин протрита или разкъсана.
Кръговете винаги имат един и същ радиус, така че използвам HoughCircles на OpenCV с даден радиус за всеки от двата кръга, за да определя дали изображението съдържа двата кръга. Кръговете се намират без проблем. Нямам доста опит в обработката на изображения, така че си помислих, че използването на HoughCircles ще намери кръговете само ако формата им е безупречна, но HoughCircles също намира кръговете, ако те са някакви ръбове или извивки върху линията на кръга.
Има ли по-добър начин да проверите дали двата кръга са непокътнати или HoughCircles е напълно грешен начин? Играх си малко с параметрите на прага на HoughCircles, но когато прагът е зададен твърде нисък, алгоритъмът изобщо не намира кръг, независимо дали е непокътнат или счупен.
Редактиране: Ето абстрактни изображения, които може да го направят по-ясно. http://1drv.ms/1toMHay Вътрешният кръг е прекъснат, външният е ок. HoughCircles може да открие и двата кръга, въпреки че вътрешният не трябва да бъде открит.
Идеята е, че имам референтно изображение с двата кръга непокътнати, за да определя правилния радиус, праг и други параметри за функцията на окръжностите, за да се уверя, че те се намират с окръжностите. С тези параметри трябва да се анализират други изображения, за да се види дали те също съдържат два непокътнати кръга или поне един кръг изглежда като вътрешния кръг от изображението, което предоставих.
Качени изображения Качих няколко реални изображения, за да стане по-ясно какво се опитвам да постигна. http://1drv.ms/1nhJJQ9 Тези изображения са заснети в две различни светлинни ситуации, с пряка и непряка светлина. Всеки комплект има "непокътнато" изображение и няколко счупени. Сега трябва да открия дали изображението е непокътнато или счупено и първият ми подход е да погледна дали двата кръга са непокътнати или протрити по някакъв начин. Това дори възможно ли е с тези изображения или има по-добър начин?