matlab图像处理算法源码.docx
《matlab图像处理算法源码.docx》由会员分享,可在线阅读,更多相关《matlab图像处理算法源码.docx(16页珍藏版)》请在冰豆网上搜索。
matlab图像处理算法源码
图像分割算法源码
.图像反转
程序实现如下:
();
();图像反转线性变换
();
()();
()();
.灰度线性变换
程序实现如下:
('');
()();
('原始图像');
([]);
;显示坐标系
();
()();
('灰度图像');
([]);
;显示坐标系
(,[],[]);局部拉伸,把[]内地灰度拉伸为[]
()();
('线性变换图像[]');
([]);
;显示网格线
;显示坐标系
(,[],[]);局部拉伸,把[]内地灰度拉伸为[]
()();
('线性变换图像[]');
([]);
;显示网格线
;显示坐标系
.非线性变换(对数变换图像)
图像地对数变换原理就是将源图像地像素点地像素值通过对数函数映射到目标空间,然后
用目标值来代替原来像素点地像素值.那么它地作用就是对于一些视频采集设备,它们采
集地图像会有一个指数地失真,用对数变换后就抵消掉了原来地指数失真得到原来地图
像,还有对于灰度值偏低地图像来说它是有一个锐化地效果地.
程序实现如下:
('');
();
()();
('灰度图像');
([]);
;显示网格线
;显示坐标系
();
*(());
();
()();
('对数变换图像');
([]);
;显示网格线
;显示坐标系
.直方图均衡化
直方图均衡化解释网址:
程序实现如下:
('');
();
;
();
();
();
();获取图像数据直方图
();直方图均衡化
;
();
();
();
();
.线性平滑滤波器
空间域地平滑滤波一般采用简单平均法进行,就是求邻近像元点地平均亮度值.邻域地大小与平滑地效果直接相关,邻域越大平滑地效果越好,但邻域过大,平滑会使边缘信息损失地越大,从而使输出地图像变得模糊,因此需合理选择邻域地大小.b5E2R。
用实现领域平均法抑制噪声程序:
('');
()
()
('原始图像')
();
(,'');
()
()
('添加椒盐噪声地图像')
((''));进行*模板平滑滤波
((''));进行*模板平滑滤波
((''));进行*模板平滑滤波
((''));进行*模板平滑滤波
()()('*模板平滑滤波');
()()('*模板平滑滤波');
()()('*模板平滑滤波');
()()('*模板平滑滤波');
.中值滤波器
中值也称中位数,即数据按升序或者降序排列,假如有个数据,当为偶数时,中位数为第位数和第()位数地平均数;如果为奇数,那么中位数为第()位数地值.p1Ean。
用实现中值滤波程序如下:
('');
();
(,'');
()()('原图像');
()()('添加椒盐噪声图像');
();进行*模板中值滤波
(,[]);进行*模板中值滤波
(,[]);进行*模板中值滤波
(,[]);进行*模板中值滤波
()()('*模板中值滤波');
()()('*模板中值滤波');
()()('*模板中值滤波');
()()('*模板中值滤波');
.用算子和拉普拉斯对图像锐化:
索贝尔算子()是图像处理中地算子之一,主要用作边缘检测.在技术上,它是一离散性差分算子,用来运算图像亮度函数地梯度之近似值.在图像地任何一点使用此算子,将会产生对应地梯度矢量或是其法矢量DXDiT。
('');
()();
('原始图像');
([]);
;显示网格线
;显示坐标系
();
()();
('二值图像');
([]);
;显示网格线
;显示坐标系
('');选择算子
();卷积运算
()();
('算子锐化图像');
([]);
;显示网格线
;显示坐标系
[];拉普拉斯算子
(,'');卷积运算
()();
('拉普拉斯算子锐化图像');
([]);
;显示网格线
;显示坐标系
.梯度算子检测边缘
用实现如下:
('');
();
();
('原始图像');
([]);
;显示网格线
;显示坐标系
();
();
();
('二值图像');
([]);
;显示网格线
;显示坐标系
((),'');
;
();
();
('算子分割结果');
([]);
;显示网格线
;显示坐标系
((),'');
();
();
('算子分割结果');
([]);
;显示网格线
;显示坐标系
((),'');
();
();
('算子分割结果');
([]);
;显示网格线
;显示坐标系
算子检测边缘
用程序实现如下:
('');
();
();
('原始图像');
();
();
();
('灰度图像');
(,'');
();
();
('算子分割结果');
算子检测边缘
用程序实现如下:
('');
();
();
('原始图像')
();
();
();
('灰度图像');
(,'');
();
();
('算子分割结果');
.边界跟踪(函数)
('');
();
('原始图像');
();将彩色图像转化灰度图像
();计算将灰度图像转化为二值图像所需地门限
(,);将灰度图像转化为二值图像
();
('二值图像');
();
(());计算起始点列坐标和图像大小有关
(());计算起始点行坐标
;
;
(,[],'');
提取边界
();
;
(()(),'','');
('边界跟踪图像');
变换
('');
();
();
();
('灰度图像');
([]);
;
;
(,'');
();
();
('算子边缘检测后图像');
([]);
;
;
[]();
();
(,[],'','','','');
('霍夫变换图');
('\')('\');
,;
(,''(*((:
))));
(())(());
(,'','','');
(,'','');
()();
('霍夫变换图像检测');
([]);
;
;
;
;
()
[()()];
(()(),'','','');
(()(),'','','','');
(()(),'','','','');
(()());
(>)
;
;
(()(),'','','');
.直方图阈值法
用实现直方图阈值法:
('');
();
;
();
();
('灰度图像')
([]);
;显示网格线
;显示坐标系
[]();测量图像尺寸参数
();预创建存放灰度出现概率地向量
()(())(*);计算每级灰度出现地概率,将其存入中相应位置
()(,'')绘制直方图
('灰度直方图')
('灰度值')
('出现概率')
();
()();
('阈值地分割图像')
([]);
;显示网格线
;显示坐标系
();
()();
('阈值地分割图像')
([]);
;显示网格线
;显示坐标系
.自动阈值法:
法
用实现算法:
('');
()();
('原始图像')
([]);
;显示网格线
;显示坐标系
();确定灰度阈值
();
()();
('法阈值分割图像')
([]);
;显示网格线
;显示坐标系
.膨胀操作
('');载入图像
();
();
();
('灰度图像')
([]);
;显示网格线
;显示坐标系
('');生成圆形结构元素
();用生成地结构元素对图像进行膨胀
();
();
('膨胀后图像');
([]);
;显示网格线
;显示坐标系
.腐蚀操作
实现腐蚀操作
('');载入图像
();
();
();
('灰度图像')
([]);
;显示网格线
;显示坐标系
('');生成圆形结构元素
();用生成地结构元素对图像进行腐蚀
();
();
('腐蚀后图像');
([]);
;显示网格线
;显示坐标系
.开启和闭合操作
用实现开启和闭合操作
('');载入图像
()();
('原始图像');
([]);
;显示坐标系
();
()();
('灰度图像');
([]);
;显示坐标系
('');采用半径为地圆作为结构元素
();开启操作
();闭合操作
()();
('开启运算后图像');
([]);
;显示坐标系
()();
('闭合运算后图像');
([]);
;显示坐标系
.开启和闭合组合操作
('');载入图像
()();
('原始图像');
([]);
;显示坐标系
();
()();
('灰度图像');
([]);
;显示坐标系
('');
();开启操作
();闭合操作
()();
('开启运算后图像');
([]);
;显示坐标系
()();
('闭合运算后图像');
([]);
;显示坐标系
('');
();
();
()();开—闭运算图像
('开—闭运算图像');
([]);
;显示坐标系
();
();
()();闭—开运算图像
('闭—开运算图像');
([]);
;显示坐标系
.形态学边界提取
利用实现如下:
('');载入图像
()();
('原始图像');
([]);
;显示网格线
;显示坐标系
();
()();
('二值化图像');
([]);
;显示网格线
;显示坐标系
();获取区域地周长
()();
('边界周长地二值图像');
([]);
;
;
.形态学骨架提取
利用实现如下:
('');
()();
('原始图像');
([]);
;
();
()();
('二值图像');
([]);
;
(,'');
()();
('次骨架提取');
([]);
;
(,'');
()();
('次骨架提取');
([]);
;
.直接提取四个顶点坐标
('');
();
();
()
[]