• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: Matlab
  • 标签: 二值化、  

资源简介

一个很实用的图像二值化的最大类方差法,绝对可以用

资源截图

代码片段和文件信息

clear;
warning off;
I=imread(‘D:\mytest\true1.jpg‘);
I_gray=rgb2gray(I);%rgb转灰度
subplot(121);
imshow(I_gray)title(‘灰度图像‘);
Y3=medfilt2(I_gray[3 3]);
I_double=double(Y3);%转化为双精度
[widlen]=size(I_gray);%wid为行数,len为列数
colorlevel=256;  %灰度级
hist=zeros(colorlevel1);%直方图 256*1的0矩阵
%threshold=128; %初始阈值

%计算直方图
for i=1:wid
    for j=1:len
        m=I_gray(ij)+1;
        hist(m)=hist(m)+1;
    end
end
hist=hist/(wid*len);%直方图归一化
%miuT为总的平均灰度,hist[m]代表像素值为m的点个数
miuT=0;
for m=1:colorlevel
    miuT=miuT+(m-1)*hist(m);
end
xigmaB2=0;%用于保存每次计算的方差,与下次计算的方差比较大小

for mindex=1:colorlevel
    threshold=mindex-1;
    omega1=0; %前景点所占比例
    omega2=0; %背景点所占比例
    for m=1:threshold-1
          omega1=omega1+hist(m);%计算前景比例
    end
    omega2=1-omega1;%计算背景比

评论

共有 条评论