Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 类型错误:不支持img数据类型=17_Python 2.7_Opencv_Numpy - Fatal编程技术网

Python 2.7 类型错误:不支持img数据类型=17

Python 2.7 类型错误:不支持img数据类型=17,python-2.7,opencv,numpy,Python 2.7,Opencv,Numpy,我创建红色图像并尝试通过cv2.imwrite保存它 import numpy as np import cv2 RED = [0, 0, 255] IMAGE_SIZE = 100 image = np.empty([IMAGE_SIZE, IMAGE_SIZE], dtype=type(RED)) for i in range(IMAGE_SIZE): for j in range(IMAGE_SIZE):

我创建红色图像并尝试通过cv2.imwrite保存它

    import numpy as np
    import cv2

    RED = [0, 0, 255]
    IMAGE_SIZE = 100

    image = np.empty([IMAGE_SIZE, IMAGE_SIZE], dtype=type(RED))
    for i in range(IMAGE_SIZE):
        for j in range(IMAGE_SIZE):
           image[i, j] = RED

    cv2.imwrite("red.png", image)
但我有一个错误

     File "C:/Users/Andrew/Desktop/Programms/image-processing-cource/Tracks.py", line 11, in save_image
cv2.imwrite(name, image)
    TypeError: img data type = 17 is not supported
如何修复它

谢谢

dtype=type(红色)
提供type
list
而不是type
int

你需要:

image = np.empty([IMAGE_SIZE, IMAGE_SIZE, 3], dtype=type(RED[0]))

您为什么对图像使用
dtype=type(红色)
<代码>类型(红色)是python列表;使用它可以使
image
成为python对象的数组(而不是数字类型的数组)。为什么不使用,比如说,
dtype=int
?如果我使用
dtype=type(int)
(和
RED=200
),那么我将得到相同的错误ue
dtype=int
(不是
type(int)
)。设置
dtype
设置要创建的数组元素的数据类型。此外,如果要创建包含RGB组件的数组,则形状应为
(IMAGE\u SIZE,IMAGE\u SIZE,3)
。例如
image=np.empty([image\u SIZE,image\u SIZE,3],dtype=int)
。例如,如果希望元素是8位无符号整数(图像的典型大小),可以使用
dtype=np.uint8