形态学图像处理
来源:互联网 发布:杨幂的鼻子知乎 编辑:程序博客网 时间:2024/05/23 19:18
形态学【生】【数】 morphology
从图像中提取表达和描绘区域形状的有用图像分量, 边界 骨架 凸壳等
1 Prerequisite P403
1 一个集合的反射表示为 定义如下:
2 如果是描述图像中物体的像素的几何( 二维点 ),则是中坐标被代替的点集
3 集合按照的平移定义为:
4 形态学中几何的泛着和平移广泛用来表达基于结构元( SE ) 的操作:研究一副图像中感兴趣特性所用的小集合或子图像。
* 阴影方块—— SE的成员
* 标记 "×"—— 不关心条件
* 标记 "·" —— 中心位置
* 白色背景—— 为图像操作,添加最小可能数量的背景元素形成 “矩形阵列”
2 腐蚀和膨胀
1 腐蚀
中的集合和, 表示对的腐蚀
意义:包含在中,不予背景共享任何公共元素,故腐蚀表达式 等价于:
其中 是 的补集。
例子: wikipedia http://en.wikipedia.org/wiki/Erosion_(morphology)
2 膨胀
表示对的膨胀,定义为:
意义:和至少有一个元素是重叠的 等价于:
对偶性
* 膨胀和腐蚀彼此关于集合求补运算和反射运算是对偶的,即
以及
对的腐蚀,是对膨胀的补,反之亦然。
*证明:P407
3 开操作与闭操作
开操作:一般会平滑物体的轮廓。断开较窄的狭颈并且消除细的突出物
闭操作:同样也会平滑轮廓的一部分,但与开操作相反,他通常会弥合较窄的间断和西昌的沟壑,消除小的孔洞,填补轮廓线中的断裂
4 击中或击不中变换( HMT )
*用于形状检测的基本工具
☆ P411 & http://blog.sina.com.cn/s/blog_4ca086fc0100ie18.html
5 基本形态学算法
1 边界提取
做法: 表示集合 的边界,通过 对 腐蚀,而后执行 和腐蚀结果之间集合做差
理解:将原图像边界缩小一圈,再使用图像与其求差
2 孔洞填补
P425 书上的方法好像有错
% MatlabI = [ 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1]; I = logical(I);subplot(231);imshow(~I);title('I');% I 的反I_c = logical(~I);subplot(232);imshow(~I_c);title('I^c I 的反');% F 是边界处理后的图像% 边界元素 = 1 - I(i,j)[r c] = size(I);F = zeros(r,c)for i = 1 : r for j = 1 : c if i==1 || j==1 || i==r || j==c F(i,j) = 1 - I(i,j); end endendsubplot(233);imshow(~F);title('经过处理边界图像 F');% B在F上做膨胀B = ones(3);TMP_F = zeros(r+2,c+2);TMP_F([2:r+1], [2:c+1]) = F;TMP = zeros(r+2,c+2);for i = 2:r+1 for j = 2:c+1 if TMP_F(i,j) == 1 TMP(i-1,j-1) = 1; TMP(i-1,j) = 1; TMP(i-1,j+1) = 1; TMP(i,j-1) = 1; TMP(i,j+1) = 1; TMP(i+1,j-1) = 1; TMP(i+1,j) = 1; TMP(i+1,j+1) = 1; end endendF_oplus_B = TMP([2:r+1], [2:c+1]);subplot(234);imshow(~F_oplus_B);title('F \oplus B ');% 经过腐蚀的F交上 I^c (I的反)F_oplus_B_cap_I_c = xor(F_oplus_B,I_c);subplot(235);imshow(~F_oplus_B_cap_I_c);title('F \oplus B \cap I^c');% 取反 OKsubplot(236);imshow(F_oplus_B_cap_I_c);title('final');
补洞不同方法 http://codesmesh.com/hole-filling-of-image-in-matlab/
3 连通分量提取
* MATLAB http://www.mathworks.cn/cn/help/images/ref/bwlabel.html
4 凸壳
5 细化
6 粗化
7 骨架
8 裁剪
9 形态学重建
6 灰度级形态学
- 形态学图像处理
- 形态学图像处理
- 形态学图像处理
- 形态学图像处理
- 图像的形态学处理
- 形态学的图像处理
- openCV 形态学图像处理
- 图像处理之形态学
- 形态学图像处理
- 图像的形态学处理
- 形态学图像处理
- 一、图像处理--形态学
- 形态学图像处理
- 形态学图像处理
- Matlab 形态学图像处理
- 形态学图像处理
- opencv图像形态学处理
- 形态学图像处理
- lua对table进行选择排序
- Lua中对table的复制
- 使用Shader填充图形
- LeetCode 9 - Palindrome Number
- VMware vSphere服务器虚拟化实验十四 vCenter Operatioin Manager
- 形态学图像处理
- Android的Bitmap类-实现图片的分割、缩放、旋转
- 哈弗曼编码算法(输入若干字符 及 出现概率,输出对应的二进制编码)
- 《游戏脚本的设计与开发》-(战棋部分)2.1 快速显示一张战场地图
- 最近要做的文档
- JP Morgan Chase & Co. Interview Prepration(1)
- exist already defined in msvcrt.lib(MSVCR100.dll)_LIBCMTD.lib 解决方案
- script engine
- 信号放大器算法(在二叉树节点中放最少放大器,并保证所有节点信号量不至于过低)