OpenCV之filter2D 使用滑块处理图像锐化

        对于图像锐化(也可以理解为锐度),OpenCV提供了filter2D函数设置内核自动处理,网上也有很多的方法不过都大同小异,由于我需要的是实时修改图像的锐度值所以添加了一个滑块去控制锐度的数值,问题来了,我怎么根据滑块的数值去调整图像的锐度值呢?想了几天都没有思路,偶然间发现可以通过给定一个固定的3x3内核大小,我只需要改变的是最中间的数值大小就可以达到修改图像锐度值的目的:

	// sharpness范围是 -100 ~ 100
	Mat kernel = (Mat_<float>(3, 3) << 
		0, -1, 0, 
		-1, 5 + sharpness * 0.01, -1, 
		0, -1, 0);
	filter2D(matDst, matDst, matDst.depth(), kernel);

        对于内核中间的取值一般都是要大于外围的数值之和这样就不会有负值出现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ilson_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值