cv2.imshow("image",img)不显示图像; opencv图片读取与写入
我的解决方法:
我的程序一开始就已输入cv2.waitKey(0)和cv2.destroyAllWindows()。
函数但imshow不显示图像,在控制台输入IPHYTON魔法函数%matplotlib auto。此时运行图像可显示,
但报错,发现是waitKey(0)和destroyAllWindows()这两个函数的大小写搞错了。和修改后输入%matplotlib inline也能正常显示图片。
下面这个可能也需要设置,根据个人情况而定。
import cv2 import matplotlib as plt import numpy as py img=cv2.imread('C:/Users/59925/Desktop/pytest/pics\minions-s.jpg')#读取文件,opencv读取图像以BGR的顺序读取 print(img,img.shape) #%matplotlib auto #IPHYTON的魔术函数,设置图形后端,使图片出现在新窗口。因为是IPHYTON的魔术函数,因此只能在IPYTHON下使用,如spyfer的IPYTHON CONSOLE控制台 cv2.imshow('image',img) cv2.waitKey(0)#0表示按键盘任意键后执行下一行;若是其他数字如1000,则以毫秒级计时后执行下一行. cv2.destroyAllWindows()
读取灰度图与保存文件
#读取灰度图 img=cv2.imread('C:/Users/59925/Desktop/pytest/pics\minions-s.jpg',cv2.IMREAD_GRAYSCALE) cv2.imshow('image',img) cv2.waitKey(1000)#0表示按键盘任意键后执行下一行;若是其他数字如1000,则以毫秒级计时后执行下一行. cv2.destroyAllWindows() #保存数据,指定路径和要保存的文件 cv2.imwrite("C:/Users/59925/Desktop/pytest/pics/grayminion.jpg",img) print(img.size)#输出像素点个数