使用cv2.findContours函数传入参数的数据类型问题
Posted 简约的信仰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用cv2.findContours函数传入参数的数据类型问题相关的知识,希望对你有一定的参考价值。
使用cv2.findContours函数传入参数的数据类型问题
两次遇到使用这个函数传入图像的数据类型匹配问题,在这里记录一下
cv2.findContours(img[i], cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
这个报错显示当使用 cv2.RETR_EXTERNAL模式时,只支持CV_8UC1类型的图像,不能使用CV_32SC1,对应的数据类型为uint8 和 float32
直接使用astype修改为np.uint8未成功
解决方法:
在使用SimpleITK读入时就使用sitk.sitkUInt8类型读取,这样得到np.array的数据类型就为np.uint8
查看数据类型
同样,在使用cv2中的函数有些需要转成float32,可以在SimpleITK读取的时候就使用sitk.sitkFloat32
以上是关于使用cv2.findContours函数传入参数的数据类型问题的主要内容,如果未能解决你的问题,请参考以下文章
【python】opencv库中cv2.findContours()和cv2.drawContours()函数
python调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)