资源简介
自适应门限法图像二值化。采用Ostu法(最大类间方差法)自动确定最佳阈值。同时也适用于光照不匀的图像,先将其分成几个部分,分别阈值化。效果非常好!!
代码片段和文件信息
clear all;
img = imread(‘图片2.png‘);
img = rgb2gray(img);
figure;imshow(img [])
[m n] = size(img);
img_hist = zeros(1256);
for i = 1:m
for j = 1:n
img_hist(img(i j)+1) = img_hist(img(i j)+1) + 1;
end
end
img_hist_pro = img_hist/m/n; %灰度级概率密度分布
% plot(img_hist_pro)
% figure;imhist(img)
sigma2_max = 0;threshold = 0;
for t = 0:255
w0 = 0;w1 = 0; u0 = 0; u1 = 0; u = 0;
for q = 0:255
if q <= t
w0 = w0 + img_hist_pro(q+1);
u0 = u0 + (q)*img_hist_pro(q+1);
else
w1 = w1 + img_hist_pro(q+1);
u1 = u1 + (q)*img_hist_pro(q+1);
end
end
u = u0 + u1;
u0 = u0 / (w0+eps);
u1 = u1 / (w1+eps);
sigma2 = w0 * (u0 - u)^2 + w1 * (u1 - u)^2; %求取类间最小
if (sigma2 > sigma2_max)
sigma2_max = sigma2;
threshold = t;
end
end
img_out = img;
for i = 1:m %阈值化
for j = 1:n
if img(i j) >= threshold;
img_out(i j) = 255;
else
img_out(i j) = 0;
end
end
end
figure;imshow(img_out)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1176 2013-01-10 21:17 作业4\adaptivethresh.m
文件 1653 2013-01-10 21:27 作业4\adaptivethresh2.m
文件 1230242 2013-01-10 21:31 作业4\result.tif
文件 146415 2013-01-09 20:39 作业4\图片1.png
文件 397940 2013-01-03 14:52 作业4\图片2.png
文件 22594 2013-01-10 22:05 作业4\自适应门限法将图像二值化.docx
目录 0 2013-01-11 18:49 作业4
----------- --------- ---------- ----- ----
1800020 7
- 上一篇:matlab牛头刨床
- 下一篇:matlab 语音识别系统源代码
相关资源
- gabor滤波二值化.rar
- 图像预处理MATLAB代码
- 基于直方图的自适应阈值二值化
- matlab 经典二值化算法
- OTSU二值化算法matlab
- MATLAB图像二值化程序源代码
- 用matlab实现的图像二值化的三种方法
- 图像二值化matlab代码
- 图像二值化的三种方法matlab
- 二值化算法:Otsu算法、Bernsen算法、
- MATLAB GUI 图像二值化处理源文件直接运
- 条纹二值化,细化,轮廓提取源码
- 利用Matlab编写,记录二值化图像像素
- 利用Matlab编写,记录二值化图像像素
- 提取二值化图像的轮廓线
- 图像二值化OTSU方法matlab程序
- DIP 包含二值化、canny算子边缘检测、
- MATLAB图像处理GUI(包括边缘检测、二
- matlab识别英文字母程序 附带图像处理
- 使用MATLAB对图像二值化处理
- hough-circle 读入图像
- two_valuable 灰度图像二值化比较经典的
- matlab的图像进行二值化处理
- MATLAB用niblack算法实现二值化
评论
共有 条评论