阈值 二值化图像程序
Matlab 二值化图像
clear
close all
I=imread('Fig3.24.jpg');
figure(1)
imshow(I)
J=find(I<150);
I(J)=0;
J=find(I>=150);
I(J)=255;
title(' 图像二值化( 域值为 150 )');
figure(2)
imshow(I)
clc;
I=imread('Fig3.24.jpg');
bw=im2bw(I,0.5);%选取阈值为 0.5
figure(3);
imshow(bw) %显示二值图象
Matlab 中一种二值化图像的形态学操作程序
在 Matlab 中将一幅图像阈值分割二值化非常简单,若需要通过阈值 th2 二值化保留一些大
面积的、且有灰度值含有大于 th1 的点的前景区域,而不需要小面积的区域(th1 大于 th2),
这时会遇到这样的问题:当阈值选为 th2 时会把一些小面积区域也保留下来;若把阈值增大
到 th1,小面积的区域没了,但是原来大面积的区域又会减小;若要直接去掉阈值 th2 二值
化图像中面积小于某一值的的区域,需要计算每个区域的面积,计算量大,而且有的区域中
并没有含有大于 th1 的点。
下面利用数学形态学的方法来解决上述问题。
这里主要是采用数学形态学中的腐蚀与膨胀操作,采用均值滤波、灰度图像高阈值二值化、
种子点选择、灰度图像低阈值二值化和选择滤波相结合的方法,具体来说:腐蚀过程采用均
值滤波和高阈值对第一细分图像二值化,滤掉面积较小的区域,得到较大的区域,然后选择
每个区域的种子点;膨胀过程采用低阈值对第一细分图像二值化,保留含有种子点的区域,
其 它 的 均 过 滤 掉 。 经 过 腐 蚀 和 膨 胀 操 作 后 , 得 到 所 希 望 的 结 果 , 见 下 图 。