代码如下
import cv2
import numpy as np
path ='cat.jpg'
img=cv2.imread(path,0)
cv2.imshow("test",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
imread() 图片读入
第一个参数是路径,第二个参数是代表着以灰度的形式读入
这里注意到提到了alpha channel ,这是代表像素透明度的信息,不是每个图片都会用到这个channel,所以有时候以参数1和参数-1读入没有区别。(补充:将一个图片彩色图片转换为灰色保存后,如果你用imread(path),不加后面的数字控制读入格式,它还是会 读入三个通道,你读入的形状仍然是三维的)
路径 :要注意你的.py文件所处在的位置,如果和你要读入的文件处于同一个文件夹,那么path直接给 文件的全名。如果不处于一个文件夹,那么建议使用绝对路径C:\Users\77433\Desktop\cv\cv-python\cat.jpg 但是使用绝对路径可能出现以下问题:
这时候,需要在路径的字符串前面加上一个 字母 r就可以了
path =r'C:\Users\77433\Desktop\cv\cv-python\cat.jpg'
在opencv-python里,如果读入图片失败是没有提示的,但是当你使用命令print img时得到的结果是None。
不注意路径的话很容易得到error: (-215:Assertion failed)读取图片失败。
剩余代码
cv2.imshow("test",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
这三行代码的解释 摘抄自CSDN博主「furuit」https://blog.csdn.net/fu6543210/article/details/80835280
使用函数cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。你可以创建多个窗口,只要你喜欢,但是必须给他们不同的名字。
cv2.waitKey顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片。
cv2.destroyAllWindow()销毁所有窗口cv2.destroyWindow(wname)销毁指定窗口
注意
cv2.waitkey(0)很重要,当你成功运行代码后,以灰度形式读出图片,如果你这时候点窗口上的关闭按钮 关闭图片,这时候console会卡住,你必须按下任意键(注意关闭输入法),图片会自动关闭,然后你可以重新调试,否则只有重新打开.py文件了。
到这里程序成功运行,这是变量列表