الحصول على حافة مع اللون الأحمر

0

لدي الصورة التالية:

Imagen 597

المهمة هي الحصول على حدود حمراء من الخشب:

Imagen 598

لقد جربت ما يلي:

التجزئة القائمة على الكثافة

img = im2double(imread('img.jpg'));
IDG1 = rgb2gray(img); % conver to gray scale

t = 100; % set a thresholding value

IT = im2bw(IDG1, t/255); % apply the threshold

I2 = ~IT; % get a negative image


I3 = bwareaopen(I2,70); % get rid of small unwanted pixels 

figure, imshow(I3); 

Imagen 599

Canny / Prewitt edge لكن النتائج ليست جيدة. كيف يمكنني التخلص من الضوضاء والحصول على حافة واضحة؟

edgeim = edge(I3,'Prewitt');
figure, imshow(edgeim); % truesize(1)

Imagen 600

1 إجابة

1
افضل جواب

يمكنك استخدام مرشح متوسط (r = 7) متبوعًا بفلتر Sobel. ستحصل على الصورة التالية: Imagen 689684 إذا كنت تستخدم ثنائيًا على هذه الصورة ، فستحصل على: Imagen 689685

لتحقيق ذلك في MatLab ، يمكنك استخدام الوظائف التالية:

medfilt2(A,[m n]) with m and n = 7
edge(I)
im2bw(I,level) with level = 155

لمزيد من المعلومات يمكنك الاطلاع على المصادر التالية: الأول والثاني والثالث

:مؤلف
فوق
قائمة طعام