3

一个基本的谷歌搜索找到了这个 SO 问题,并且似乎是一个很好的答案。然而,当我尝试时,它对锐化我的模糊图像完全没有影响。

有人可以澄清我是否做错了什么吗?

到目前为止,我所做的是在图像上实现 filter2D 函数以消除随机噪声,它还模糊了我的周期性噪声,这非常好。现在我已经模糊了噪点,我想锐化图像以查看比原始图像噪点少的图像。这是我的代码:-

   anchor = Point( -1, -1 );
   delta = 0;
   ddepth = -1;
   dst = frame;
   dst2 = image;

  filter2D(src, dst, ddepth , kernel, anchor, delta, BORDER_DEFAULT );

  cv::GaussianBlur(frame, image, cv::Size(0, 0), 11);
  cv::addWeighted(frame, 1.5, image, -0.5, 0, image);

gaussianblur 和 addWeighted对图像没有任何影响。此外,为了澄清,也根本没有代码错误。

4

3 回答 3

13

为了使其适用于正确的图像,您可以查看以下两种方法。我使用 OpenCV 3.0.0 进行了编码:

import cv2

x = 'Columbia river.jpg'
img = cv2.imread(x, 1)
cv2.imshow("Original",img)

在此处输入图像描述

#---Approach 1---
#---Sharpening filter----
kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
im = cv2.filter2D(img, -1, kernel)
cv2.imshow("Sharpening",im)

在此处输入图像描述

#---Approach 2---
aw = cv2.addWeighted(img, 4, cv2.blur(img, (30, 30)), -4, 128)
cv2.imshow("Add_weighted", aw)

在此处输入图像描述

于 2016-10-14T09:20:21.113 回答
4

对于未来的读者,代码确实有效,只是我的图像太模糊了,上面的代码没有可见的效果!

于 2013-11-16T22:06:54.410 回答
1

我认为 fft 反卷积对你来说应该很有趣:http://web.archive.org/web/20160420171504/http: //www.nist.gov/lispix/imlab/FFT/deblur.html

但是如果你知道模糊内核,这个算法很有用。如果没有,那么您应该搜索盲反卷积算法。

于 2013-11-10T15:59:01.447 回答