Matlab图片强度等级调整

时间:2017-04-29 18:12:57

标签: image matlab image-processing threshold

我有一个特定的问题要询问图像处理的强度调整。我需要高约束值来找到图像中的小间隙,在图像中显示为红色圆圈。我使用手动阈值0.99将灰度图像转换为二进制图像以用于其他处理方法。然而,由于表面上的照明不均匀分布,图像的某些部分会丢失。我使用了Matlab建议的自适应方法,但结果类似于全局阈值graythresh。

我将在下面显示我的代码和结果。

Red point as interesting area

Original file

I0 = imread('1_2.jpg');
[R,C,K] = size(I0);
if K==1
    I1 = I0;
else
    I1 = rgb2gray(I0);
end

%Adjsut image to get a standar binary picture
%Adjust image intensity value
I1 = imadjust(I1,[0.1 0.7],[]);
BW0   = im2bw(I1,0.99);
    figure;
BW0   = bwareaopen(BW0,10000);
%Fill non_crack hole error
BW0   = bwareaopen(1-BW0,500);
BW0   = 1-BW0;
    imshow(BW0);

在此过程之后,只剩下一半的图像。我想要一个整体图像,具有局部强度阈值但显示与高级阈值相同的特征。我该怎么办?

由于

1 个答案:

答案 0 :(得分:0)

尝试adaptthresh

{{1}}