图像锐化处理 图像锐化的概念 补偿图像轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。 图像锐化的目的是加强图像中景物的细节边缘和轮廓。 锐化的作用是使灰度反差增强。 因为边缘和轮廓都位于灰度突变的地方。所以锐化算法的实现是基于微分作用。 图像锐化方法 图像的景物细节特征; 一阶微分锐化方法; 二阶锐化微分方法; 一阶、二阶微分锐化方法效果比较。 图像细节的灰度变化特性 扫描线 灰度跃变 平坦段 灰度渐变 孤立点 细线 1 、一阶微分锐化 —— 基本原理 一阶微分的计算公式非常简单: 离散化之后的差分方程: 考虑到图像边界的拓扑结构性,根据这个原理派生出许多相关的方法。 单方向一阶微分锐化 无方向一阶微分锐化 • 交 叉 微分锐化 • Sobel 锐化 • Priw itt 锐化 '( , )fffx yxy( , )[ (1, )( , )] [ ( ,1)( , )]f i jf ijf i jf i jf i j(1 )单方向的一阶锐化 —— 基本原理 单方向的一阶锐化是指对某个特定方向上的边缘信息进行增强。 因为图像为水平、垂直两个方向组成,所以,所谓的单方向锐化实际上是包括水平方向与垂直方向上的锐化。 水平方向的一阶锐化---基本方法 水平方向的锐化非常简单,通过一个可以检测出水平方向上的像素值的变化模板来实现。 问题:计算结果中出现了小于零的像素值? (2 )垂直方向的一阶锐化 —— 基本方法 垂直锐化算法的设计思想与水平锐化算法相同,通过一个可以检测出垂直方向上的像素值的变化模板来实现。 单方向锐化的后处理 这种锐化算法需要进行后处理,以解决像素值为负的问题。 后处理的方法不同,则所得到的效果也就不同。 方法1 :整体加一个正整数,以保证所有的像 素值均为正。(比如+128,还有<0 的则视为 0,若有>255 的则视为 255 处理) 这样做的结果是:可以获得类似浮雕的效果。 下例是+20 后的效果 void CDynSplitView::OnHsharpen() { // TODO: 在此添加命令处理程序代码 int i,j,buf; int w[3][3]={{1,2,1},{0,0,0},{-1,-2,-1}}; clearmem(); int ysize=m_imagey,xsize=m_imagex; for(j=1;j