繁体   English   中英

来自Image的Python OpenCV cvCreateStructuringElementEx,形状为CV_SHAPE_CUSTOM

[英]Python OpenCV cvCreateStructuringElementEx from Image, with shape = CV_SHAPE_CUSTOM

有谁知道如何使用图像创建cvCreateStructuringElementEx 我正在尝试使用opencv.cv.cvCreateStructuringElementEx() ,我的结构是bmp 160x120,黑色,白色的椭圆形。

im = Image.open("struture.jpeg", "r")
im = im.convert("1")
val = numpy.uint(im.getdata())
gim = opencv.cv.cvCreateStructuringElementEx(im.size[0], im.size[1], im.size[0]/2, im.size[1]/2, opencv.cv.CV_SHAPE_CUSTOM, val)

因此返回错误:

TypeError: in method 'cvCreateStructuringElementEx', argument 6 of type 'int *'

这可以解决您的问题:

int val[9]={0,1,0,1,1,1,0,1,0};

在Python 2.7和OpenCV 2.3.0中运行相同的指令对我来说没有错误。 如预期的那样,它返回了一个IplConvKernel。

我假设您使用的是OpenCV的较旧版本,因为您对其功能使用了旧的命名约定(即cvCreateStructureElementEx与CreateStructureElementEx)。 OpenCV过去在Python包装器中到处都有一些错误-这可能就是其中之一。

在您的环境中是否可以将OpenCV更新到2.3.x? 而且,如果是这样,请确保您也使用Python 2.6或2.7-据我所知,这些是当前唯一受支持的版本。

编辑:嗯。 刚看到这一日期。 没意识到我走了那么久! 哦,希望对某人有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM