将元组转换为 numpy ndarray
Convert tuple to numpy ndarray
我正在 python 运行 raspberry PI 中开发图像处理小脚本。我对变量类型有疑问。我有两个功能。第一个是将 RGB 图像转换为二进制图像的函数,有效:
img_bw = cv2.threshold(img_filtered,127,255,cv2.THRESH_BINARY)
第二个函数允许我清理小于300px的像素
img_morph = morphology.binary_opening(img_bw,ones((9,5)),iterations=2)
我尝试执行时的结果:
*input = numpy.asarray(input)
File "/usr/lib/pymodules/python2.7/numpy/core/numeric.py", line 235, in
asarray return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.*
根据论坛的一些研究,我了解到问题出在变量的类型上。 img_bw
的类型是 tuple
类型,第二个函数需要一个 ndarray
类型的变量。我没有找到允许我将 tuple
转换为 ndarray
.
的正确语法
谁能给我指出正确的方向?
cv2.threshold
本身返回一个元组,您可以按如下方式正确分配
retval, img_bw = cv2.threshold(img_filtered,127,255,cv2.THRESH_BINARY)
您的原始代码 img_bw = cv2.threshold(img_filtered,127,255,cv2.THRESH_BINARY)
将元组分配给 img_bw
。
查看文档 (http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html)
我正在 python 运行 raspberry PI 中开发图像处理小脚本。我对变量类型有疑问。我有两个功能。第一个是将 RGB 图像转换为二进制图像的函数,有效:
img_bw = cv2.threshold(img_filtered,127,255,cv2.THRESH_BINARY)
第二个函数允许我清理小于300px的像素
img_morph = morphology.binary_opening(img_bw,ones((9,5)),iterations=2)
我尝试执行时的结果:
*input = numpy.asarray(input)
File "/usr/lib/pymodules/python2.7/numpy/core/numeric.py", line 235, in
asarray return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.*
根据论坛的一些研究,我了解到问题出在变量的类型上。 img_bw
的类型是 tuple
类型,第二个函数需要一个 ndarray
类型的变量。我没有找到允许我将 tuple
转换为 ndarray
.
谁能给我指出正确的方向?
cv2.threshold
本身返回一个元组,您可以按如下方式正确分配
retval, img_bw = cv2.threshold(img_filtered,127,255,cv2.THRESH_BINARY)
您的原始代码 img_bw = cv2.threshold(img_filtered,127,255,cv2.THRESH_BINARY)
将元组分配给 img_bw
。
查看文档 (http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_thresholding/py_thresholding.html)