gpt4 book ai didi

python-3.x - Python-OpenCV cv2 OpenCV错误: Assertion failed

转载 作者:太空宇宙 更新时间:2023-11-03 22:45:51 26 4
gpt4 key购买 nike

我正在尝试使用 openCV 在 python 中创建图像。我制作了一个列表列表,每个列表有 16 个数字,从 0 到 255(16 个列表)。然后我将大列表转换为 numpy ndarray,并尝试使用 cv2.imwrite() 将其写入图像。这是我的代码:

import cv2
import numpy as np

colours = []
numbers = []
a=0
for i in range(256):
numbers.append(a)
a+=1

for x in range(16):
new_list = [numbers[16*x:16*x+16]]
colours.append(new_list)

col = np.asarray(colours)
new_image = cv2.imwrite("rainbow.png",col)

它运行良好,直到最后一行。然后它给了我这个错误:

OpenCV Error: Assertion failed (image.channels() == 1 || image.channels() == 3 || image.channels() == 4) in cv::imwrite_, file C:\projects\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp, line 600
Traceback (most recent call last):
File "kormou.py", line 16, in <module>
new_image = cv2.imwrite("rainbow.png",col)
cv2.error: C:\projects\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:600: error: (-215) image.channels() == 1 || image.channels() == 3 || image.channels() == 4 in function cv::imwrite_

一般来说,我是一个初学者,所以我可能遗漏了一些非常明显的东西,但我在这里找不到类似的错误问题。

最佳答案

您犯了这个非常微小的错误。从以下工作代码中找出 -

import cv2
import numpy as np

colours = []
numbers = []
a=0
for i in range(256):
numbers.append(a)
a+=1

for x in range(16):
new_list = numbers[16*x:16*x+16]
colours.append(new_list)

print colours
col = np.asarray(colours)
new_image_flag = cv2.imwrite("rain.png",col)

检查编辑以获取提示。

关于python-3.x - Python-OpenCV cv2 OpenCV错误: Assertion failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47685019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com