matlab图像处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab图像处理相关的知识,希望对你有一定的参考价值。

怎么用MATLAB将一幅灰度图转换成二值图??
具体应该怎么操作啊??对MATLAB基本不熟悉,能不能具体点啊??

用im2bw 函数

举个例子
A=imread('cameraman.tif'); %读入cameraman.tif这幅灰度图,它是matlab 自带的,将其像素的值写入矩阵A中;

imshow(A); %显示该图像
figure;

B=im2bw(A,.5); 转成二值图像,0.5为亮度阀值,其意思是亮度小于0.5的都变为黑色,大于0.5的都变为白色,存储于矩阵B中

imshow(B) %显示转换成的二值图像

参考资料:参考一楼的

参考技术A im2bw

举个例子
A=imread('cameraman.tif');
imshow(A);figure;
B=im2bw(A,.5);
imshow(B)

matlab 图像处理 二值化

通过阈值对图像进行二值化处理,怎么确定阈值?
在直方图中,怎么创造出双峰图?
谢谢
通过imhist观察的直方图很平整,看不出谷点,希望能够通过编程来准确的确定阈值。

你读入的图像是rgb图像,要先转换成灰度图,阈值的选取有很多种方法,你可以用灰度直方图,取谷点;
1、若想快速转变成二值图像则:
i=imread('tuxiang.jpg');
i1=rgb2gray(i);%i1灰度图像
i2=im2bw(i1);% i2是二值图像,不需要求阈值
2、如果你要找直方图谷点,可以imhist(i1)画出灰度直方图,然后观察出谷底,若想编程求谷点的我就不给你编了,不太难;
3、或者你可以自己设经验值
Imax=max(max(i1));
Imin=min(min(i1));
T=round(Imax-(Imax-Imin)/2);%我随便取的,但基本较为好用
i2=(i1)>=T;%i2是二值图像
参考技术A 讲的不清楚....比如你要把皮肤与景色区别开来,有这样的前提你才能去找二值化的阈值

直方图中峰值有很多个,双峰图?2个最大值嘛?

以上是关于matlab图像处理的主要内容,如果未能解决你的问题,请参考以下文章

Python 图像处理 OpenCV :图像平滑(滤波)处理

小波变换图像处理

用C#做数字图像处理还是用C++做数字图像处理,刚进入研究生,做数字图像处理,看C++数字图像处理的书

图像处理和数据增强

数字图像处理的三个层次

youcans 的图像处理学习课11. 形态学图像处理(下)