新浪博客

二值处理im2bw函数原理以及自己编写的代码

2012-11-22 11:30阅读:
图像I中每个像素的取值范围是0~255, 设定阈值为0.5, 则图像数据中凡是超过255 * 0.5 = 127.5的都变为255, 否则都变为0。
  在Matlab中使用im2bw函数进行图像二值化处理时(将图像转换为 二值图像), 人为设定阈值并不总是十分有效。matlab工具箱为我们提供了graythresh函数。该函数使用最大类间方差法得到一个阈值, 利用这个阈值进行图像二值化通常是十分有效的。


%imbw函数的简易原理代码
clc;
clear all

imrgb=imread('exp2.jpg');%读取待转化的实例真彩图
[m,n,t]=size(imrgb);
alpha=0.5; %阈值


for i=1:m
for j=1:n
for k=1:t
if imrgb(i,j,k)>alpha*255
imbw(i,j,k)=255;
else imbw(i,j,k)=0;
end


end

end
end

figure(1)
imshow(imrgb)
figure(2)
imshow(imbw)


我的更多文章

下载客户端阅读体验更佳

APP专享