OpenCV使用命令行参数输入图像(Python)

Mat*_*kes 1 python opencv

我正在尝试从命令行上指定的文件加载图像,然后使用OpenCV命令HoughCircles处理它。发生什么情况是我正在打开文件:

img = cv2.imread(argv[0],0)
Run Code Online (Sandbox Code Playgroud)

然后尝试使用以下功能:

def _getCircles(img):
  _circles = cv2.HoughCircles(img,cv2.cv.CV_HOUGH_GRADIENT,1,20,param1=50,param2=30,minRadius=1,maxRadius=20)
Run Code Online (Sandbox Code Playgroud)

但是返回错误:

cv2.error: error: (-206) Unrecognized or unsupported array type in function cvGetMat
Run Code Online (Sandbox Code Playgroud)

但是,如果我直接加载文件,即将argv [0]更改为显式文件名,则一切正常。有任何想法吗?

Ser*_*lis 5

在python和大多数其他语言中argv[0]包含程序名称。尝试使用argv[1]以获得正确的结果。

这是一些Python文档可以为您提供帮助。Python拥有一个很棒的文档库,我强烈建议您使用它。