opencv最基础的一段代码需要注意的问题(spyder python3.7)

代码如下

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文件了。

到这里程序成功运行,这是变量列表

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值