【问题标题】:cv2.cv for Python 2.7 32 bit in an OpenCV sample codeOpenCV 示例代码中用于 Python 2.7 32 位的 cv2.cv
【发布时间】:2017-06-27 17:09:30
【问题描述】:

我正在尝试了解边缘检测的工作原理,并在 Py 2.7、32 位上尝试下面来自 OpenCV 的代码:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('SiliconPost.jpeg',0)

laplacian = cv2.Laplacian(img,cv2.CV)
sobelx = cv2.Sobel(img,cv2.CV,1,0,ksize=5)
sobely = cv2.Sobel(img,cv2.CV,0,1,ksize=5)

plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray')
plt.title('Original'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,2),plt.imshow(laplacian,cmap = 'gray')
plt.title('Laplacian'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([])

plt.show()

但我不断遇到错误: AttributeError: 'module' object has no attribute 'CV'

我该如何纠正这个错误?

【问题讨论】:

  • import cv2了吗? OpenCV 是否正确安装?尝试运行help(cv2) 看看会发生什么。注意:在问题中发布您尝试运行的代码,而不是链接。
  • 是的,我做了import cv2,但我可能搞砸了安装。让我试试help(cv2)
  • @KelvinS,我将立即发布代码。谢谢!
  • @KelvinS 我收到错误NameError: name 'cv2' is not defined。这是否意味着OpenCV没有正确安装?
  • @KelvinS,实际上,我凭直觉取出了.CV,它起作用了。它现在给出另一个错误:TypeError: an integer is required.

标签: python python-2.7 opencv


【解决方案1】:

documentation 开始,ddepth 是定义输出图像深度的第二个参数,其类型为int

你传递给它的东西; cv2.CV,什么都不是。我认为这是一个错字,您的意思是输入 cv2.CV_64Fcv2.CV_16S 或类似的内容。

请参阅您的教程以查看所使用的内容,但您正在寻找类似的内容。

旁注: CV_16SCV_64F 等是 int 类型的 OpenCV 中的默认变量。你可以从他们的implementation 看到这一点。

【讨论】:

  • 确实如此!谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-04-22
  • 2019-08-03
  • 2012-03-10
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
  • 2015-07-25
相关资源
最近更新 更多