使用Python,OpenCV加载图像并将其显示在屏幕上?

这篇博客展示了如何使用OpenCV从磁盘上读取图像,在屏幕上显示它,然后等待按键关闭窗口并终止脚本。

cv2.imread()
cv2.imwrite()
cv2.imshow()

cv2.imread(“imagePath”,flag)

  • –imagePath 图片的路径,即使不是图片路径,读取也不报错,只是打印image会显示None
  • –flag 读取图片的方式 (也可以用1,0,-1,分别代表下边的3种方式)
    cv2.IMREAD_COLOR : 读取三通道 BGR 图像,忽略透明度,默认模式
    cv2.IMREAD_GRAYSCALE : 读取灰度图
    cv2.IMREAD_UNCHANGED : 读取四通道图(BGR + 透明度alpha通道);
#导入必要的包(命令行参数包、OpenCV绑定)
import argparse
import cv2

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True, help="Path to the image")
args = vars(ap.parse_args())

# 加载图片 参数:文件路径
image = cv2.imread(args["image"])

# 展示图片到窗口 参数1:窗口名称  参数2:我们要展示的图片
cv2.imshow("image", image)
# v2.waitKey()是键盘绑定功能。它的参数是时间(以毫秒为单位)。该函数等待任何键盘事件的指定毫秒数。如果在此期间按任意键,程序将继续。如果传递0,它将无限期地等待击键。
cv2.waitKey(0)
# 关闭所有的窗口,关闭特定的窗口可以使用 cv2.destroyWindow("windowName")
cv2.destroyAllWindows() 

执行脚本:

python load_image.py --image flower.jpg

在这里插入图片描述
用matplot展示图片
由于读取后图片是 BGR 通道,需要稍微处理下转换为RGB
在这里插入图片描述

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('D://imageProcessing/images/flower.jpg')
b, g, r = cv2.split(img)
img2 = cv2.merge([r, g, b])
plt.subplot(121);
plt.imshow(img)  # expects distorted color
plt.subplot(122);
plt.imshow(img2)  # expect true color
plt.show()

cv2.imshow('bgr image', img)  # expects true color
cv2.imshow('rgb image', img2)  # expects distorted color
cv2.waitKey(0)
cv2.destroyAllWindows()

参考:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序媛一枚~

您的鼓励是我创作的最大动力。

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

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

打赏作者

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

抵扣说明:

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

余额充值