我正在开发一个discord机器人,它可以接受用于OCR目的的各种图像。当用户上传带有4个通道的PNG时,会出错。我的意思是,它将图像解读为几乎100%的白色,而实际图像则充满了色彩
我试着用cv2.COLOR_BGRA2BGR转换它,但这不起作用。然而,在我的pytest中,它确实有效。这可能是因为我在pytest中使用了cv2.imread,这与我的实际代码有点不同
代码(断开)
for a in supported_attachments: async with aiohttp.ClientSession() as session: async with session.get(a) as res: if res.status == 200: buffer = io.BytesIO(await res.read()) arr = np.asarray(bytearray(buffer.read()), dtype=np.uint8) img = cv2.imdecode(arr, -1) if len(img.shape) > 2 and img.shape[2] == 4: print('convert') img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR) plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) plt.show() images.append(img)
pytest(工程)
image = cv2.imread('../tests/images/stats/english/kills_png.png', cv2.COLOR_BGRA2BGR)
有什么建议或想法吗
标志
cv2.COLOR_BGRA2BGR
用于cv2.cvtColor()
而不是cv2.imread()
cv2.imread()
的所有清单常量都以cv2.IMREADxxx
开头,并定义为here相关问题 更多 >
编程相关推荐