小深今天给分享matlab阈值分割的知识,其中也会对基于matlab的数据阈值处理进行解释,希望能解决你的问题,请看下面的文章阅读吧!

1、endclcI=double(imread('source3.bmp')); %读入图像I1=I;%I=rgb2gray(I);BW1=edge(I,'roberts'); % roberts算子BW2=edge(I,'prewitt');BW3=edge(I,'sobel');BW4=edge(I,'log');BW5= edge(I,'canny');figure,subplot(231),imshow(I,[]);title('原图');subplot(232),imshow(BW1); title(' roberts算子');subplot(233),imshow(BW2); title(' prewitt算子');subplot(235),imshow(BW4); title(' log算子');subplot(236),imshow(BW5); title(' canny算子');% 双峰法是一种简单的阈值分割方法,即如果灰度级直方图呈现明显的双峰状,% 则选双峰之间的谷底所对应的灰度级作为阈值分割。

2、I = imread('source3.bmp');if ndims(I) == 3I = rgb2gray(I);fxy = imhist(I, 256); %统计每个灰度值的个数figure;subplot(2, 2, 1); imshow(I, []); title('原图')subplot(2, 2, 2); plot(fxy); %画出灰度直方图title('直方图')p = 180/255;bw = im2bw(I, p); %小于阈值的为黑,大于阈值的为白subplot(2, 2, 3); imshow(bw); title('双峰阈值分割')bw1 = im2bw(I, graythresh(I));subplot(2, 2, 4); imshow(bw1); title('ostu阈值分割')。

本文到这结束,希望上面文章对大家有所帮助。