python用cv2出现问题,问题如下:
cv2.imshow("name", img)
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-q3d_8t8e\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
使用
img = cv2.imdecode(np.fromfile(img_name1, dtype=np.uint8), cv2.IMREAD_COLOR)
print(img)
如果显示:
None
用其他库能正常打开显示该图像
如:
from PIL import Image
image = Image.open(img_name1)
image.show()
这说明不是很有可能是图片本身的问题,而是图片格式的问题,自己修改过后缀名,下面我们用PIL库进行处理,将图片转成自己想要的格式.
from PIL import Image
img_name1='./问题/test3.jpg'
image = Image.open(img_name1)
image.show()
image.convert('RGB').save("./问题/deal_test3.jpg")
img = cv2.imdecode(np.fromfile("./问题/deal_test3.jpg", dtype=np.uint8), cv2.IMREAD_COLOR)
#读取彩色图
img=cv2.imread(img_name1)
print(img)
结果能正常显示。如果还是不能,那么用下面的代码:
from PIL import Image
import cv2
img_name1='1.jpg'
image = Image.open(img_name1)
# image.show()
image.convert('RGB').save("2.jpg")
#img = cv2.imdecode(np.fromfile("./问题/deal_test3.jpg", dtype=np.uint8), cv2.IMREAD_COLOR)
#读取彩色图
#img=cv2.imread(img_name1)
img=cv2.imread("./2.png")
print(img)
只要print 出来的部位None,那么就说明成功了。
版权声明:本文为qq_42105477原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。