【发布时间】:2018-12-21 13:24:42
【问题描述】:
我有这张图片:
我正在尝试使背景聚焦,以便对图像执行边缘检测。我可以使用哪些方法(无论是在 空间/频率字段)?
我尝试的是以下内容:
kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
im = cv2.filter2D(equ, -1, kernel)
这会输出这个图像:
我也玩过中心值,但没有积极的结果。
我也试过这个:
psf = np.ones((5, 5)) / 25
equ = convolve2d(equ, psf, 'same')
deconvolved = restoration.wiener(equ, psf, 1, clip=False)
plt.imshow(deconvolved, cmap='gray')
图像没有明显变化。
非常感谢您对此事的任何帮助!
编辑:
这是我从here获取的代码:
psf = np.ones((5, 5)) / 25
equ = convolve2d(equ, psf, 'same')
deconvolved, _ = restoration.unsupervised_wiener(equ, psf)
plt.imshow(deconvolved, cmap='gray')
这是输出:
【问题讨论】:
-
如果要对焦背景,唯一的方法是在对焦背景的情况下拍照。所有那些通过数字增强技术从模糊或低分辨率图像中提取车牌、面部等清晰细节的电视节目……实际上是做不到的。您可以插入细节并创建最合适的解决方案,但不能添加一开始就没有的细节。
-
“这输出了这个图像”——它确实不那么模糊,所以任务完成了。计算机无法神奇地添加原始图像中没有的细节。
-
问题是我把它作为大学的作业...这是我的任务
De-blurring (de-noising) of the image by application of a suitable filter (either on space/frequency filed) and experiment with different choices and provide comments. -
@usr2564301 确实你是对的,但下一步我需要进行边缘检测,对我来说,不太模糊的图像看起来会比原来的效果更差
-
啊——你应该edit你的问题并添加原因。我并不是说这是大学作业——我们不在乎——而是因为你需要它作为下一步的输入,边缘检测。
标签: python python-3.x opencv image-processing edge-detection