Opencv的安装(Win)

这里仅介绍Win下的安装,安装不是重点,网上一搜到处都是。

在cmd窗口下,输入命令:

pip install opencv-python

安装opencv

我这是已经安装过了,且显示了版本号。

关于开发环境什么的,根据个人喜好吧,这个好像也不是很重要。我用的是VSCode。

在代码中导入库也很容易,直接在上面输入:

import cv2

图像处理的基本操作

读取和显示图像

读取图像的基本语法

retval = cv2.imread(filename[,flags])

filename自然是路径名或者文件名,可以是相对的,也可以是绝对的。

flags参数如下图所示,其中第一列和第三列是一样的:

flags参数

flags参数(续表)

表里内容挺多的,前面几个比较常用,知道就行,需要用的时候再查找即可。

结果输出

显示图像的基本语法:

pic = cv2.imshow(winname,mat)

winname为窗口名字,mat就是imread读进来像素。

imshow这里有个bug,就是show之后会闪退。
解决Opencv+Python cv2.imshow闪退问题

总结一下就是cv2.waitkey()

也有说什么依赖库的,咱也不是很懂,这样能解决问题就完事了。

效果

加上参数之后,加上参数后:

import cv2
retval1 = cv2.imread('zhouwang.jpg', -1)  # 保持原格式不变
retval2 = cv2.imread('zhouwang.jpg', 0)  # 单通道灰度图像
retval3 = cv2.imread('zhouwang.jpg', 1)  # 三通道,这是默认值
retval4 = cv2.imread('zhouwang.jpg', cv2.IMREAD_REDUCED_COLOR_2) #看出写数字和写值都是可以的
cv2.imshow('Image1', retval1)
cv2.imshow('Image2', retval2)
cv2.imshow('Image3', retval3)
cv2.imshow('Image4', retval4)
cv2.waitKey()

加上参数后的输出

cv2.waitkey()函数

基本用法:

reval = cv2.waitKey([delaytime])

delaytime的单位是毫秒 ms

上面已经初次体验过了,根据名字也很好理解是什么意思,那就是“等待按键”

reval 是返回值,如果按键没用被按下,就返回-1,如果被按下,就返回那个按键的ASCII码。

python中提供了一个函数来得到字符的ASCII码值:

Value = ord('某字符')
import cv2
retval1 = cv2.imread('zhouwang.jpg', -1)  # 保持原格式不变
retval3 = cv2.imread('zhouwang.jpg', cv2.IMREAD_REDUCED_COLOR_4)
cv2.imshow('x', retval3)
cv2.waitKey(2000)  # 需要在两秒内按下a键
key = cv2.waitKey()
if key == ord('a'):
    cv2.imshow('A', retval1)
    print("经过")
cv2.waitKey(0)
  • waitKey()参数的默认值是0,也就是一直等待,即暂停
  • 若时间是一个正数,则等这么久的时间,注意时间单位是ms
  • waitKey()的返回值是-1或者那个按下的键的ASCII码值

释放窗口

cv2.destoryWindow(winname) #销毁指定的窗口
cv2.destoryAllWindow()   #销毁所有的窗口

保存图像

retval = cv2.imwrite( filename,img [,params])
  • retval 返回值,操作成功返回True;操作失败返回False
  • filename 是保存目标的完整路径,要包括后缀
  • img 是被保存的图像
  • params 保存类型参数

博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2021/opencv_1.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 06 月 23 日
如果觉得我的文章对你有用,请随意赞赏