提高图像质量

Laz*_*zar 8 image-processing

我需要提高图像质量,从低质量到高清质量。我正在使用OpenCV库。我用 GaussianBlur()、Laplacian()、变换函数、过滤函数等进行了很多实验,但我能成功的只是将图像转换为高清分辨率并保持相同的质量。是否有可能做到这一点?我是否需要实现自己的算法或者有什么方法可以实现它?我将非常感谢任何形式的帮助。提前致谢。

Jer*_*uke 4

我使用此链接作为参考。它还有其他有趣的过滤器可供您使用。

如果您使用 C++:

detailEnhance(Mat src, Mat dst, float sigma_s=10, float sigma_r=0.15f)
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Python:

dst = cv2.detailEnhance(src, sigma_s=10, sigma_r=0.15)
Run Code Online (Sandbox Code Playgroud)

变量“ sigma_s ”确定像素邻域必须有多大才能执行过滤。

变量“ sigma_r ”确定像素邻域内的不同颜色如何相互平均。其范围是:0 - 1。较​​小的值意味着相似的颜色将被平均,而不同的颜色保持原样。

由于您正在寻找图像的清晰度,因此我建议您尽可能保持内核最小化。

这是我获得的示例图像的结果:

1.原图:

在此输入图像描述

2. 锐化图像以获得更低的sigma_r值:

在此输入图像描述

3. 锐化图像以获得更高的sigma_r价值:

在此输入图像描述

检查上述链接以获取更多信息。

  • 如果你尝试使用 kernel=10 和 range=0.5,你会得到错误;只需将 10 和 0.5 作为位置参数即可。 (2认同)