简单图像处理-算法程序.pdf
文本预览下载声明
简单图像处理
程序1:读写图像 运行环境:Matlab2011a
img=imread(03.jpg);% imread 该函数用于读取图片文件中的数据
imshow(img),imshow(img,[])% imshow 是matlab 中显示图像的函数
运行结果
程序2: 彩色图灰度化 运行环境:Matlab2011a
imggray=rgb2gray(img);% rgb2gray 函数功能:将真彩色图像转换为灰度图像
figure,imshow(imggray)
%用指定的灰度范围 [low high]显示灰度图像I。
%显示结果,图像中灰度值等于或低于low 的都将用黑色显示,
%而灰度值大于等于high 的都显示为白色,
%介于low 和high 之间的用其灰度级的默认值的中间色调显示。
%imshow 函数将使用 [min(I(:))max(I(:))]作为第二个参数
运行结果
程序3 : 直方图均衡化 运行环境:Matlab2011a
histgray=histeq(imggray);
%简单的说,有些图像有太多的亮点或者有太多的暗点。
%histeq 通过一个算法,把亮度重新分配,让人看得舒服自然。
% 比如说原来的点都集中在暗处,1-25 之间,
%histeq 就可以把25 亮度的点“拉”到255 处,24 “拉”到240 处..
%最后图像的细节都回呈现在你面前。
figure,subplot(2,2,1),imhist(imggray);% imhist 显示图像imggray 的灰度直方图
subplot(2,2,2),imhist(histgray);
subplot(2,2,3),imshow(imggray)
subplot(2,2,4),imshow(histgray)
运行结果
程序4 : 二值化 运行环境:Matlab2011a
th=graythresh(histgray)
%使用最大类间方差法找到图片的一个合适的阈值
bw1=im2bw(histgray,th);
%可以手动调整阈值
subplot(1,2,1),imshow(histgray)
subplot(1,2,2),imshow(bw1)
运行结果
程序5 : 运行环境:Matlab2011a
[edge1,th_canny]=edge(bw1,canny);% edge 功能是采用 bw1 作为它的输入,并返回一个与
bw1 相同大小的二值化图像edge1 ,在函数检测到边缘的地方为1,其他地方为0
bw2=bwmorph(edge1,dilate);%形态学处理
Imshow(bw2);
运行结果
显示全部