我需要提高图像质量,从低质量到高质量。我正在使用 OpenCV 库。我用GaussianBlur(),Laplacian(),变换函数,滤波函数等进行了很多实验,但我所能成功的是将图像转换为高清分辨率并保持相同的质量。是否有可能做到这一点?我是否需要实现自己的算法,或者它是如何完成的?我真的很感激任何帮助。提前谢谢。
答案 0 :(得分:0)
我使用此link作为参考。它还有其他有趣的过滤器,你可以玩。
如果您使用的是C ++:
detailEnhance(Mat src, Mat dst, float kernel=10, float range=0.15)
如果您使用的是python:
dst = cv2.detailEnhance(src, kernel=10, range=0.15)
变量“内核”确定像素邻域必须有多大才能执行过滤。它的范围是:0 - 200。
变量“范围”确定像素邻域内的不同颜色如何相互平均。其范围为:0 - 1。
由于您正在寻找图像的清晰度,我建议您尽可能减少内核。
以下是我为样本图像获得的结果:
1。原始图片:
2。较低范围值的锐化图像:
3。锐化图像以获得更高的范围值:
也改变内核大小,玩得开心!!!
查看上述链接以获取更多信息。
答案 1 :(得分:0)
需要更正 dst = cv2.detailEnhance(src, sigma_s=10, sigma_r=0.15)
使用内核会报错。
答案 2 :(得分:-1)
如果你有更好的输入——高质量的相机,你也可以获得更好的图像。