最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

灰度图像二值化方法matlab代码

来源:动视网 责编:小OO 时间:2025-09-23 23:56:55
文档

灰度图像二值化方法matlab代码

OTSU算法代码:I=imread('****');th=graythresh(I);J=im2bw(I,th);subplot(121)imshow(I);subplot(122)imshow(J);Bernsen算法代码:clc;clearallcloseallI=imread('****');[m,n]=size(I);I_gray=double(I);T=zeros(m,n);M=3;N=3;fori=M+1:m-Mforj=N+1:n-Nmax=1;min=255;fork=i-M:
推荐度:
导读OTSU算法代码:I=imread('****');th=graythresh(I);J=im2bw(I,th);subplot(121)imshow(I);subplot(122)imshow(J);Bernsen算法代码:clc;clearallcloseallI=imread('****');[m,n]=size(I);I_gray=double(I);T=zeros(m,n);M=3;N=3;fori=M+1:m-Mforj=N+1:n-Nmax=1;min=255;fork=i-M:
OTSU算法代码:

I=imread('****');

th=graythresh(I);

J=im2bw(I,th);

subplot(121)

imshow(I);

subplot(122)

imshow(J);

Bernsen算法代码:

clc;

clear all

close all

I=imread('****');

[m,n] = size(I);

I_gray=double(I);

T=zeros(m,n);

M=3;

N=3;

for i=M+1:m-M

for j=N+1:n-N   

    max=1;min=255;

    for k=i-M:i+M     

for l=j-N:j+N

if I_gray(k,l)>max

        max=I_gray(k,l);

       end

if I_gray(k,l)        min=I_gray(k,l);

       end

    end

    end

    T(i,j)=(max+min)/2;

 end

end

I_bw=zeros(m,n);

for i=1:m

for j=1:n 

if I_gray(i,j)>T(i,j)

      I_bw(i,j)=255;

            else

                I_bw(i,j)=0;

    end

end

end

subplot(121),imshow(I);

subplot(122),imshow(I_bw);

改进的Bernsen算法代码:

clc;

clear all

close all

I=imread('****');

I_gray=double(I);

[m,n] = size(I);

a=0.3;

A=0;T1=0;S=0;

for i=1:m

    for j=1:n

     A=A+I_gray(i,j) ;

    end

end

A=A*0.9;

while(S    T1=T1+1;

    for i=1:m

      for j=1:n

        if(I_gray(i,j)==T1)

            S=S+I_gray(i,j);

        end

      end

    end

end

T2=zeros(m,n);

T3=zeros(m,n);

M=3;

N=3;

for i=M+1:m-M

for j=N+1:n-N   

    max=1;min=255;

    for k=i-M:i+M 

    for l=j-N:j+N

if I_gray(k,l)>max

        max=I_gray(k,l);

       end

if I_gray(k,l)        min=I_gray(k,l);

       end

    end

    end

    T2(i,j)=(max+min)/2;

    T3(i,j)=max-min;

end

end

T4=medfilt2(T2,[M,N]);

T5=(T1+T4)/2;

I_bw=zeros(m,n);

for i=1:m

for j=1:n 

if I_gray(i,j)>(1+a)*T1

      I_bw(i,j)=255;

    end

if I_gray(i,j)<(1-a)*T1

         I_bw(i,j)=0;

     end

if (1-a)*T1<=I_gray(i,j)<=(1-a)*T1

if T3(i,j)>a*T1

if I_gray(i,j)>=T4(i,j)

               I_bw(i,j)=255; 

            else

                I_bw(i,j)=0;

            end

else if I_gray(i,j)>=T5(i,j)

                 I_bw(i,j)=255; 

            else

                I_bw(i,j)=0;

            end

       end

    end

end

end

subplot(121),imshow(I);

subplot(122),imshow(I_bw);

文档

灰度图像二值化方法matlab代码

OTSU算法代码:I=imread('****');th=graythresh(I);J=im2bw(I,th);subplot(121)imshow(I);subplot(122)imshow(J);Bernsen算法代码:clc;clearallcloseallI=imread('****');[m,n]=size(I);I_gray=double(I);T=zeros(m,n);M=3;N=3;fori=M+1:m-Mforj=N+1:n-Nmax=1;min=255;fork=i-M:
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top