opencv TypeError:不支持src数据类型= 17

deyfvvtc  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(146)

我现在在一个程序试图改变图片从正常到二进制化。所以我在python上使用opencv,但是当我在家里完成我的问题,把我的代码带到我的办公室时,它出现了一个未知的错误。所以我来到这里,寻求帮助。

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import cv2
im = Image.open('card.jpg')
img = np.array(im)
if img.ndim == 3:
    img = img[:, :,0]
    plt.gray()
ret, thresh1 = cv2.threshold(img, 50, 255, cv2.THRESH_BINARY)

plt.subplot(222)
plt.imshow(thresh1)
plt.show()

回溯是
追溯(最近一次调用):文件“D:/tensorflow/ www.example.com ”,第12行,在ret中,thresh 1 = cv 2。threshold(img,50,255,cv2.THRESH_BINARY)类型错误:不支持src数据类型= 17

k97glaaz

k97glaaz1#

您可以找到OpenCV类型here的列表。
type = 17意味着您的图像是CV_8SC3,也就是char的3通道矩阵。但是,threshold只接受
(单通道、8位或32位浮点)。
这意味着类型必须是CV_8UC1CV_32FC1
检查imgshapedtype,并根据需要调整img

相关问题