ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【Python】【OpenCV】傅里叶变换 [打印本页]

作者: 十念    时间: 2024-1-16 07:02
标题: 【Python】【OpenCV】傅里叶变换
之前的随笔中使用了C++来编写算法底层逻辑,这次我们直接使用OpenCV和Numpy和Scipy所提供的方法直接调用实现
  1. 1 import cv2
  2. 2 import numpy
  3. 3 from scipy import ndimage
  4. 4
  5. 5 kernel_3 = numpy.array([
  6. 6     [-1, -1, -1],
  7. 7     [-1, 8, -1],
  8. 8     [-1, -1, -1]
  9. 9 ])
  10. 10
  11. 11 kernel_5 = numpy.array([
  12. 12     [-1, -1, -1, -1, -1],
  13. 13     [-1, 1, 2, 1, -1],
  14. 14     [-1, 2, 4, 2, -1],
  15. 15     [-1, 1, 2, 1, -1],
  16. 16     [-1, -1, -1, -1, -1]
  17. 17 ])
  18. 18
  19. 19 img = cv2.imread('Pic.webp', 0)
  20. 20 k3 = ndimage.convolve(img, kernel_3)
  21. 21 k5 = ndimage.convolve(img, kernel_5)
  22. 22 blurred = cv2.GaussianBlur(img, (17, 17), 0)
  23. 23 hpf = img - blurred
  24. 24
  25. 25 cv2.imshow('IMG', img)
  26. 26 cv2.imshow('K3', k3)
  27. 27 cv2.imshow('hpf', hpf)
  28. 28
  29. 29 cv2.waitKey()
  30. 30 cv2.destroyAllWindows()
复制代码
随机在网上搜索灰度图然后Down下来保存名字为Pic即可。
19 Line中的 cv2.imread()中的第二个参数很重要,有三种模式,RGB,Gray scale,NoChange,具体请自行搜索。我们需要选择Gray scale即数字0就可以表示了。
 至于convolve方法其实可以自己实现,具体参照之前的【图像处理】随笔。
23 Line中的减法作用,bulrred变量被经过高斯低通滤波处理的img赋值,而numpy数组是可以直接进行加减法运算的,此时得到的 hpf 变量就是原图锐化的结果。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4