http://blog.csdn.net/kezunhai
钝化模板(Unsharp Mask)是在图像边缘的侧面制作出一条对比度较强的晕光,给图像目标以反衬效果,从而达到突出目标,使图像清晰化的作用。
实现原理:先根据用户指定的钝化度对图像进行高斯模糊处理,再对高斯模糊处理结果与原图像进行钝化处理。 钝化度用来改变像素间的对比度强弱,钝化度,取值(0~100),钝化值越小,钝化的部分就越窄,仅仅会影响边缘像素; 钝化值越大,钝化的范围越宽,效果更明显。算法实现:
// degree:钝化度,取值(0~100)
// 钝化度用来改变像素间的对比度强弱,钝化值越小,钝化的部分就越窄,仅仅会影响边缘像素
// 钝化值越大,钝化的范围越宽,效果更明显
void PhotoShop::UnsharpMask(Mat& img, Mat& dst, int degree)
{
if (degree<1) degree = 1;
if (degree>100) degree = 100;
if ( dst.empty())
dst.create(img.rows, img.cols, img.type());
int height = img.rows;
int width = img.cols;
int chns = img.channels();
int border = 1;
int i, j, k;
img.copyTo(dst);
for ( i=0; i( 2*srcData[j*chns+k] -dstData[j*chns+k]);
}
}
}
}
实现效果第一张图:
还满意吧,一张不够,再来一张:
从上面两图可以看到,图像的对比度有显著的增强,视觉效果也更好,再来一张单色背景的:
通过调节钝化度,来获取需要的效果,再来一张图: