我正在寻找解决我手边问题的方法。以下是我必须分为三部分的图像:
然而问题是核心区域的亮点。我试图通过平滑图像并获得亮点的掩模来消除亮点。然后从亮点的位置减去某个值。结果如下:
现在,当我尝试根据图像的灰度值对其进行分割时,我得到了一个奇怪的结果,如下所示:
我需要一个类似于下图中轮廓区域的分段:
clc
close all
clear
I=imread('recon-1.1-B_Export0113.tiff');
I=im2uint8(I);
filt1=ones(31)/(31^2);
I2=imfilter(I,filt1);
I2=imfilter(I2,filt1);
I2=imfilter(I2,filt1);
I2=I2-40;
% I2=imadjust(I2);
I3=I-I2;
figure, imshow(I3)
figure, imshow(I)
I4=zeros(size(I));
I4(I3>40)=1;
se = strel('disk',2);
I4=imopen(I4,se);
figure,imshow(I4)
答案 0 :(得分:0)
您可以检查图像中明亮区域的值,并使用该间隔执行二进制阈值处理。 假设您发现明亮区域的值介于t1和t2之间。
范围=(I> t1& I< t2); I(范围)= 255; I(〜范围)= 0;
在OpenCV中,cv :: inRange函数可以让您的工作更轻松。
http://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html?highlight=inrange#inrange