我试图将一些图像二值化。在某些图像中,我得到了图案,但在某些图像中我丢失了一些图案。我正在使用greythresh来进行二值化。还有其他方法可以改善输出。
I = imread('image.jpg');
I = rgb2gray(I);
I = uint8(255*mat2gray(I));
figure,imshow(I);
I=imresize(I,[128 128]);
figure,imshow(I);
I = medfilt2(I,[5 5]);
I1 = medfilt2(I,[5 5]);
I = adapthisteq(I1,'clipLimit',0.4,'Distribution','rayleigh');
figure,imshow(I);
level = graythresh(I);
BW = im2bw(I, level);
figure,imshow(BW);
输入
输出
答案 0 :(得分:0)
在您的情况下,为整个图像获取一个独特的阈值似乎很糟糕。您应该尝试执行自适应局部阈值处理,以更好地适应平滑的图像强度变化。
您可以找到一个matlab示例here