linux下使用OpenCV的一些问题
阅读原文时间:2023年07月10日阅读:2

完整正确的代码如下:

import cv2
import numpy as np
image = cv2.imread('Pictures/a.png')
cv2.imshow('original_image',image)
cv2.waitKey()

问题一:

很可能是文件路径不对,导致image为空,从而imshow出错。比如我就是Picturtes掉了个“s”.

问题二:

"libpng warning: iCCP: known incorrect sRGB profile"

与先前版本相比,Libpng-1.6在检查ICC配置文件方面更为严格。您可以忽略该警告。要摆脱它,请从PNG图像中删除iCCP块。

您可以使用各种PNG编辑器(如ImageMagick)执行此操作convert in.png out.png

一种方法是运行mogrify来修复它们:

mogrify ./Installer/Images/a.png

问题三:cv2.imshow显示不出来

窗口会闪一下,但是不会显示图片,其实已经显示过,只是很快就消失了,添加一句"cv2.waitKey(0)"即可

参考链接:

1、https://stackoverflow.com/questions/22745076/libpng-warning-iccp-known-incorrect-srgb-profile

2、http://masikkk.com/article/OpenCV-imshow-waitkey/

3、https://stackoverflow.com/questions/31586385/assertion-failure-size-width0-size-height0-in-function-imshow