我现在在一个程序尝试将图片从正常更改为二进制化.所以我在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/opencv.py",第12行,在ret中,thresh1 = cv2.threshold(img,50,255,cv2.THRESH_BINARY)TypeError:src数据类型= 17是不支持
Miki.. 11
您可以在此处找到OpenCV类型列表.
type = 17
意味着你的图像是一个CV_8SC3
,也就是一个3通道矩阵char
.但是,threshold
只接受
(单通道,8位或32位浮点).
这意味着类型必须是CV_8UC1
或CV_32FC1
.
检查shape
和dtype
你的img
,调整img
的要求.
您可以在此处找到OpenCV类型列表.
type = 17
意味着你的图像是一个CV_8SC3
,也就是一个3通道矩阵char
.但是,threshold
只接受
(单通道,8位或32位浮点).
这意味着类型必须是CV_8UC1
或CV_32FC1
.
检查shape
和dtype
你的img
,调整img
的要求.