Python机器视觉--OpenCV入门--OpencCV的安装与图片加载显示

1. 安装OpenCV

执行pip install opencv-python==3.4.1.15, 3.4.2之后有些算法申请了专利,用不了了.(使用其他版本也可以)

安装opencv扩展包(选装): pip install opencv-contrib-python==3.4.1.15 (扩展包最好与cv版本对应)

如果装不了去:https://www.lfd.uci.edu/~gohlke/pythonlibs/下载相应的包手动安装.

pip install opencv-python3.4.1.15 opencv-contrib-python3.4.1.15 jupyter matplotlib -i https://pypi.douban.com/simple (这里使用了豆瓣源镜像,可根据需求更换其他源镜像)

2. 图像的加载和显示

2.1 创建和显示窗口
  • namedWindow() 创建命名窗口

  • imshow() 显示窗口

  • destroyAllwindws() 摧毁窗口

  • resizeWindow() 改变窗口大小

  • waitKey() 等待用户输入

import c2

# cv2.namedWindow('new', cv2.WINDOW_AUTOSIZE)
# WINDOW_NORMAL可以让窗口大小变得可以调节
cv2.namedWindow('new', cv2.WINDOW_NORMAL)
# 修改窗口大小
cv2.resizeWindow('new', 1920, 1080)
cv2.imshow('new', 0)
# waitKey方法表示等待按键, 0表示任何按键, 
#其他整数表示等待按键的时间,单位是毫秒, 超过时间没有发生按键操作窗口会自动关闭.
# 会返回按键的ascii的值
key = cv2.waitKey(0)
if key == ord('q'):
    cv2.destroyAllWindows()
2.2 加载显示图片
  • imread(path, flag): 使用imread可以读取图片, 默认读取的是彩色图片.比如:
# 导入opencv包
import cv2
import matplotlib.pyplot as plt
import numpy as np

# 读取图片
img = cv2.imread('./cat.jpeg')
  • 原图长这样:

请添加图片描述
对比一下使用matplotlib读取显示的图片( plt.imshow(img) ) , 长这样:
请添加图片描述

发现这个猫的样子没变, 但是颜色不太对, 这是因为OpenCV读取的图片颜色通道是按照BGR(蓝绿红)排列的, 一般图片通道都是按照RGB来排列的.为了正常的显示猫的图片, 我们要用OpenCV的图像显示方法:

cv2.imshow('cat', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

小知识 我们可以把显示图片的方法封装成一个函数方便我们显示图片:

def cv_show(name, img):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
2.3 保存图片
  • imwrite(path, img): 使用imwrite保存图片.
import cv2

cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.resizeWindow('img', 320, 240)

img = cv2.imread("./cat.jpeg")

# 利用while循环优化退出逻辑
while True:
    cv2.imshow('img', img)
    key = cv2.waitKey(0)
    if(key & 0xFF == ord('q')):
        break
    elif(key & 0xFF == ord('s')):
        cv2.imwrite("./123.png", img)
    else:
        print(key)

cv2.destroyAllWindows()

至此,OpenCV的安装与简单测试就已经完成啦

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扁舟钓雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值