matlab 实现双峰法全局阈值处理

 

img=imread('C:\Users\Administrator\Desktop\lwx.JPG');
im=rgb2gray(img);
im_median=medfilt2(im);

% 直方图 0-255
h = imhist(im_median);
% 求极大值 粗略的算了一下 
%IndMax=find(diff(sign(diff(count)))<0)+1;
[cnt,x] = findpeaks(h,'minpeakdistance',30,'minpeakheight',30);
%stem(x,cnt)

% 估算
n = length(x);
yu = x(1)+x(n)-2;
im_2bw = im2bw(im_median,yu/510);
subplot(131);imshow(im_2bw);
subplot(132);stem(x,cnt);
subplot(133);imshow(im_2bw);
 

matlab 实现双峰法全局阈值处理_第1张图片

你可能感兴趣的:(matlab)