opencv中 (IO)与(GUI)的区别

本文详细介绍了OpenCV中的图像读取、保存、显示、视频处理以及基本绘图功能,包括cv2.imread()、cv2.imwrite()、cv2.imshow()等,这些是开发图像处理和计算机视觉应用的基础。
摘要由CSDN通过智能技术生成

在 OpenCV 中,输入/输出(IO)和图形用户界面(GUI)功能主要用于图像或视频的加载、显示和保存。这些功能对于开发图像处理和计算机视觉应用至关重要。以下是 OpenCV 中关于 IO 和 GUI 的一些基本操作和概念:

  1. 图像的读取与保存
    读取图像:使用 cv2.imread() 函数来读取本地图像文件。该函数需要指定图像文件的路径,可以选择加载模式,例如加载为彩色图像或灰度图像。
    保存图像:使用 cv2.imwrite() 函数来保存处理后的图像。它需要文件名和要保存的图像对象。
    python
    复制
    import cv2

读取图像

image = cv2.imread(‘path_to_image.jpg’, cv2.IMREAD_COLOR) # 彩色图像
gray_image = cv2.imread(‘path_to_image.jpg’, cv2.IMREAD_GRAYSCALE) # 灰度图像

保存图像

cv2.imwrite(‘output.jpg’, image)
2. 显示图像
显示图像:使用 cv2.imshow() 函数来显示图像。这个函数创建一个窗口并在其中显示指定的图像。
等待键盘事件:cv2.waitKey() 是一个键盘绑定函数,其参数是以毫秒为单位的时间。这个函数等待任何键盘事件指定的毫秒数。如果你在这时间内按下任何键,程序继续运行;如果0,则无限等待键盘输入。
销毁所有窗口:使用 cv2.destroyAllWindows() 来关闭所有打开的窗口。
python
复制
import cv2

image = cv2.imread(‘path_to_image.jpg’)
cv2.imshow(‘Image Window’, image)
cv2.waitKey(0) # 按任意键继续
cv2.destroyAllWindows()
3. 视频处理
读取视频:使用 cv2.VideoCapture() 来捕获视频。可以指定设备索引号或视频文件。
保存视频:使用 cv2.VideoWriter() 来保存视频。
python
复制
import cv2

打开视频文件

cap = cv2.VideoCapture(‘video.mp4’)

检查视频是否成功打开

if not cap.isOpened():
print(“Error: Could not open video.”)
exit()

while True:
# 读取一帧
ret, frame = cap.read()
if not ret:
print(“Can’t receive frame (stream end?). Exiting …”)
break

# 显示帧
cv2.imshow('Frame', frame)

# 按 'q' 键退出
if cv2.waitKey(1) == ord('q'):
    break

cap.release()
cv2.destroyAllWindows()
4. 绘图函数
OpenCV 提供了多种绘图函数,可以在图像上绘制各种形状和文本,如:cv2.line(), cv2.circle(), cv2.rectangle(), cv2.putText() 等。这些功能对于标注图像、添加图形界面元素非常有用。

python
复制
import cv2

创建一个黑色的空图像

image = cv2.imread(‘path_to_image.jpg’)
cv2.rectangle(image, (50, 50), (200, 200), (0, 255, 0), 3)
cv2.putText(image, ‘Test Text’, (50, 250), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2, cv2.LINE_AA)

显示图像

cv2.imshow(‘Image’, image)
cv2.waitKey(0)
cv2.destroyAllWindows()
这些基础的 IO 和 GUI 功能使得 OpenCV 在图像处理和计算机视觉项目中非常易用,有助于快速开发原型和构建复杂的视觉应用。

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值