У меня есть изображение. Я хочу обнаружить четыре отверстия, отмеченные красной линией.Найти круговые круги на картинке
У меня есть все изображения в приведенной ниже ссылке. https://www.dropbox.com/sh/mlrm51qx8s1mcw0/AABu_dLm8RbvPO60H4CJ7I3ka?dl=0
InputImage (Input_Image.bmp)
препроцессированных изображения (PreprocessedImage.bmp)
Работа изображения (отверстия обнаружено) (DetectedHoles.bmp)
нерабочих изображения (только 3 отверстия обнаружено) (NoNWorking.bmp)
Первоначально это предварительная обработка выполняется на входном изображении Входное изображение: Input_Image.bmp
hcontadj=vision.ContrastAdjuster;
Extracted_Rim_ContrasT_Adj=step(hcontadj,Extracted_Rim);
J = adapthisteq(Extracted_Rim);
Sharp_Img=imsharpen(J);
se=strel('disk',300);
imtop_op=imtophat(Sharp_Img,se);
hgamma = ...
vision.GammaCorrector(90.0,'Correction','De-gamma');
% hgamma = ...
% vision.GammaCorrector(12.0,'Correction','Gamma');
y = step(hgamma, imtop_op);
h1 = imfilter(y,fspecial('gaussian',60,5));
H2=h1.*6.0;
se = strel('disk',14);
% Perform a morphological close operation on the image.
closeBW = imclose(H2,se);
figure, imshow(closeBW);
Выходной сигнал изображение, полученное после вышеуказанной обработки PreprocessedImage.bmp
imfindcircles() и viscircles() используется, чтобы найти [центр, Raddi] и отметьте круги с синим цветом соответственно.
[centers, radii] = imfindcircles(New_Open_Img,[32 100],'Sensitivity',0.81,'ObjectPolarity','dark');
[h,x,y]=viscircles(centers, radii,'EdgeColor','b');
Выходной сигнал изображения, полученный после двух вышеупомянутых функций imfindcircles() и viscircles() является DetectedHoles.bmp
, не входящих в рабочее изображение, в котором только три отверстия обнаружены NoNWorking.bmp . В этом случае все четыре круга не будут обнаружены должным образом.
Я настроил чувствительность и радиус в imfindcircles()
, но все же я не смог обнаружить все круги.
Было бы признателен, если вы дадите мне некоторое представление о решении этой проблемы.
Благодаря
Какой язык вы используете? Matlab? – Mailerdaimon
Да, я использую MATLAB. – Pankaja