我为图像编写了一些算法,但是输出与我的基本事实有所不同,您可以在下图中看到:
我不想使其完全像第二张图片,但是由于我的图片很简单,我认为有一些滤镜至少可以消除圆内的那些白色曲线。
你能建议我吗?
谢谢
答案 0 :(得分:0)
您可以尝试使用imclose
这样的形态运算您需要使用它才能获得所需的结果。
我使用imbinarize从uint8
转换为黑白。
I = imread('https://i.stack.imgur.com/r8XO7.png'); %Read image directly from URL.
R = I(:,:,1);G = I(:,:,2);B = I(:,:,3);
R = imbinarize(255 - R);G = imbinarize(255 - G);B = imbinarize(255 - B); %Convert to binary (use 255-R to inverse polarity because background is white).
SE = strel('disk', 15);
R = imclose(R, SE); %Close opreation.
G = imclose(G, SE);
B = imclose(B, SE);
J = im2uint8(cat(3, ~R, ~G, ~B)); %Use ~R to invert to original polarity.
figure;imshow(J);
[图像上下反转很奇怪]。