Matlab数字图像处理二值化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab数字图像处理二值化相关的知识,希望对你有一定的参考价值。
用背景图选取最佳阀值后,进行二值化处理的数学依据是什么?
这是我的源代码,就是用它选阀值的依据
>> Wcolor = imread('3.jpg');%imread读入图像
>> Wgray = rgb2gray(Wcolor);%rgb2gray转换成灰度图
>> s=strel('disk',13);%strei函数
>> Qgray=imopen(Wgray,s);%打开Wgray s图像
>> Lgray=imsubtract(Wgray,Qgray);%Wgray与Qgray两幅图相减
>> figure,imshow(Lgray);title('增强黑白图像');%输出增强后的黑白图像
>> Max=double(max(max(Lgray)));%Lgray的最大值并输出双精度型
>> Min=double(min(min(Lgray)));%Lgray的最小值并输出双精度型
>> level=(Max-(Max-Min)/3)/255;%获得最佳阈值
保存到一个数组中
b
再把原图像a锐化保存到c数组中
b+c构成处理后的图像
用imwrite把这个写到你新的bmp中
或者是在photoshop中直接滤波
然后在图像上锐化即可 参考技术B 遍历图像中所有像素点,与阈值进行比较,大于或等于的为白色,小的为黑色;本回答被提问者采纳
matlab怎么二值化
matlab中,使用im2bw()函数对图片进行二值化。
matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。
在matlab命令行中键入doc im2bw或help im2bw即可获得该函数的帮助信息。
im2bw()的语法如下:
1、BW = im2bw(I, level)
2、BW = im2bw(X, map, level)
3、BW = im2bw(RGB, level)
其中level就是设置阈值的。level取值范围[0, 1]。
扩展资料:
matlab中,使用graythresh()函数智能建议二值化所需的阈值:
在matlab中使用im2bw函数进行图像二值化处理时(将图像转换为 二值图像), 人为设定阈值并不总是十分有效。matlab工具箱为我们提供了graythresh函数。该函数使用最大类间方差法得到一个阈值, 利用这个阈值进行图像二值化通常是十分有效的。
参考资料来源:百度百科-im2bw
参考技术A1、先显示彩色图片TU = imread('房子.jpg')imshow(TU)。
2、将彩色图片转换为黑白图片T = rgb2gray(TU)imshow(T)可以得到灰色图片。
3、原图片。
4、在matlab命令窗输入以下命令: m=imread('E:\\AD\\bbb.png');n=graythresh(m);
im2bw(m,n);。
5、其中E:\\AD\\bbb.png为要处理图片的路径。回车后,即可在figure窗口显示处理后的图片效果。
二值化处理后。
参考技术B操作步骤:
1、首先读取到一张图片:
I = imread('fordebug.bmp');
2、用graythresh和im2bw命令:
thresh = graythresh(I); %自动确定二值化阈值;
I2 = im2bw(I,thresh); %对图像自动二值化即可。
3、
如果是图像二值化,推荐函数im2bw
im2bw函数可以把图像转化为二值图像
例子:
img=imread(imgFilename);%读取图像,
subplot(211);
imshow(img);%显示原图像
subplot(212);
imgDst=im2bw(img,0.5);%表示将灰度等级在128,以下的像素全部变为黑色,将灰度等级在128以上的像素全部变为白色。
imshow(imgDst);%显示二值化后的图像
%效果如下所示,给分吧
本回答被提问者和网友采纳以上是关于Matlab数字图像处理二值化的主要内容,如果未能解决你的问题,请参考以下文章
图像二值化基于matlab C4.5决策树图像二值化含Matlab源码 2225期