1
openCV를 사용하여 python으로 이미지를 만들려고합니다. 나는리스트의리스트를 만들고, 각리스트는 0부터 255까지 16 개의 숫자를 가진다 (16리스트). 그런 다음 큰 목록을 멍청한 ndarray로 변환하고 cv2.imwrite()를 사용하여이를 이미지에 쓰려고합니다. 이것은 내 코드입니다.Python-OpenCV cv2 OpenCV 오류 : 어설 션이 실패했습니다.
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_
: 그 다음 날이 오류를 제공합니다.
imwrite 함수에서 "image.channels() == 1 image.channels() == 3 image.channels() == 4"라는 어설 션이 실패했습니다. 이미지에 몇 개의 채널이 있습니까? –
16 채널 "이미지"를 ['imwrite'] (https://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#imwrite)로 보내고 있습니다. 워드 프로세서는 1,3 또는 4 개의 채널 만 지원합니다. 또한 이미지를 반환하지는 않지만 부울을 반환하므로 'new_image'라는 변수 이름이 오해의 소지가 있습니다. –