增强图像细节(附C++代码)

本文介绍了一种不依赖于锐化的图像清晰度增强方法,通过使用高反差保留滤镜结合特定混合模式实现。该方法能有效避免像素化问题,并提供了C++实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看到百图经验中有个快速提高图像清晰度的帖子,不是用锐化,而是用滤镜的方式。
具体操作:
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


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值