最近看到百图经验中有个快速提高图像清晰度的帖子,不是用锐化,而是用滤镜的方式。
具体操作:
1.打开照片并复制一个图层,位于原始图层上方
2.对复制的图层使用滤镜,滤镜-其它-高反差保留
3.复制图层的混合模式改成“强光”,为了效果更加,也可以把这个层复制一份,混合模式同样为“强光”,初步的清晰化已经实现。可以看的出,这样的清晰处理,没有锐化滤镜的像素化糟糕结果。
左边是原图,右边是结果图。
用C++实现了上述过程,代码如下:
void Promote Definition ()
{
Mat image = imread("D:\\OPENCV\\LibTest\\result_iris\\test.jpg",0);
Mat newimage(image.rows,image.cols,image.type());
GaussianBlur(image,newimage,Size(5,5),0.8,0);
//GaussianBlur(image,image,Size(3,3),0,0);
Mat imagegray(image.rows,image.cols,image.type(),Scalar(127));
newimage=image-newimage+imagegray;//newimage 高反差结果图
//强光混合图层
int im=0;
float imgf;
float newimgf;
int num=2;
while(num>0)
{
for(int i=0;i(i,j)<=128)
im=image.at(i,j)*newimage.at(i,j)/128;
else
im=255-(255-image.at(i,j))*(255-newimage.at(i,j))/128;
image.at(i,j)=im;
}
num--;
}
}
参考文献:
1.http://www.cnblogs.com/Imageshop/p/3583589.html
2.http://jingyan.baidu.com/article/fec4bce20ae348f2608d8b64.html