图像锐化
- 图像锐化处理目的
- 方法
- 微分运算
- 梯度锐化
- 边缘检测
图像锐化处理目的
对图像边缘锐化:突出图像中的细节,或者增强被模糊的细节【如经过均值滤波后的图像】,具体的说,补偿图像的轮廓,增强图像边缘及灰度跳变的部分,使图像变得更清晰。
既然谈到锐化就是对边缘的增强,下面是常见的边缘类型
特点:边缘上的灰度级变化平缓,边缘两侧灰度级变化比较快。
一般来说,边缘指局部不连续的图像特征,也是局部亮度变化最显著的部分。灰度值的跳变、颜色分量的突变、纹理结构的突变都可构成边缘信息。本文边缘信息指的是灰度值的跳变。
方法
微分运算
原理
由上图可见,当使用微分来定义两个像素点之间的变化率,两个像素点灰度级差值小,说明不是边界;差值大,说明是边界。所以最重要的是如何进行微分运算检测灰度级差值大,表明是边缘进行增亮。
运算方法
单向微分运算:水平方向
单向微分运算:垂直方向
双向微分运算:上下、左右两个方向同时进行微分,同时增强水平、垂直方向的边缘。
说明
通过微分运算,像素值保持不变的区域,相减为零,即像素为黑
像素变换剧烈的区域,相减得到较大的变化率,像素越亮,图像边缘越明显。
梯度锐化
梯度:矢量,微分计算的结果,即两个像素点之间的变化率。下面几种梯度设定。
- 直接以梯度值代替:双向一次微分运算,算出梯度后让梯度值直接等于该点的灰度值。没有物体内部的信息量了
- 辅以门限判断:当梯度变化很小时,就是图像内部亮度差别而不是边界,可以不考虑。只有大于一定的预值【自己取得】才认为是边界,否则还是原灰度值。比较像素的梯度是否大于30,否若【说明就是图像内部差别不考虑】,将该像素点的灰度值恢复;若是,则将梯度值加100【提升亮度】,加100后若大于255,将其置为255.
3. 给边缘规定一个特定的灰度级:求出梯度值,与规定的灰度级30比较,若大于30,该像素设为255,否则还是原灰度级。
-
给背景规定灰度级:自己规定一个预值,梯度大于预值,使用梯度代替原像素,否则为规定的预值
-
根据梯度二值化图像:比较像素的梯度是否大于预值30,是则将灰度值置为255,否则将 该像素的灰度值置0。
边缘检测
使用微分算子,直接在MATLAB中调用相应函数进行边缘检测:
一阶微分算子:Robert、prewitt、sobel;
二阶微分算子:拉普拉斯、高斯-拉普拉斯算子。
Sobel算子:image =edge(in_image,’sobel’,threshold,direction);
Prewitt算子: image = edge(in_image,’prewitt’,threshold,direction);
Roberts算子: image = edge(in_image,’sobel’,threshold);
Canny算子:image = edge(in_image,’canny’,threshold);