博客
关于我
python Opencv图像基础操作
阅读量:800 次
发布时间:2023-03-06

本文共 1834 字,大约阅读时间需要 6 分钟。

OpenCV图像处理基础教程

读取并显示图像

在使用OpenCV进行图像处理之前,首先需要导入OpenCV库:

import cv2

接下来,可以按照以下步骤读取并显示图像:

# 读取图像img = cv2.imread("C:/test1.jpg")  # "C:/test1.jpg"替换为实际路径

OpenCV支持读取多种常用图像格式,包括BMP、JPEG、PNG和TIF等。读取成功后,可以通过以下命令在窗口中显示图像:

# 创建窗口cv2.namedWindow("Image", 0)  # 参数0表示窗口不会被标记为"已修改"# 调整窗口大小cv2.resizeWindow("Image", 320, 240)# 显示图像cv2.imshow("Image", img)

按下任意键继续程序(使用waitKey()函数):

k = cv2.waitKey(0)if k == 27:  # 27是ESC键的ASCII码    cv2.destroyAllWindows()  # 释放所有窗口

创建/复制图像

如果需要创建图像副本,可以使用以下方法:

# 创建副本img2 = img.copy()

如果需要将图像转换为灰度格式:

# 将图像转换为灰度(BGR到灰度)img3 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

灰度图像中所有像素值均为0。

保存图像

保存图像非常简单,可以直接使用imwrite()函数:

# 保存为JPEG格式cv2.imwrite("test_0.jpg", img)# 可选:设置图像质量cv2.imwrite("test_1.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 5])  # 5表示较高的压缩率cv2.imwrite("test_2.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])  # 100表示较低的压缩率# 保存为PNG格式cv2.imwrite("test_3.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])  # 0表示无压缩cv2.imwrite("test_4.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])  # 9表示最高压缩

完整代码示例

import cv2# 读取图像img = cv2.imread("C:/test1.jpg")# 创建和调整窗口cv2.namedWindow("Image", 0)cv2.resizeWindow("Image", 320, 240)cv2.imshow("Image", img)# 创建副本并显示img2 = img.copy()cv2.namedWindow("Image2", 0)cv2.resizeWindow("Image2", 320, 240)cv2.imshow("Image2", img2)# 灰度图像img3 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cv2.namedWindow("Image3", 0)cv2.resizeWindow("Image3", 320, 240)cv2.imshow("Image3", img3)# 保存图像cv2.imwrite("test_0.jpg", img)cv2.imwrite("test_1.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 5])cv2.imwrite("test_2.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])cv2.imwrite("test_3.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])cv2.imwrite("test_4.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])# 按下ESC键退出k = cv2.waitKey(0)if k == 27:    cv2.destroyAllWindows()

如需进一步了解OpenCV功能,建议查阅官方文档以获取更多详细信息。

转载地址:http://flafk.baihongyu.com/

你可能感兴趣的文章
Python yield解析:深入理解生成器的魔力
查看>>
Python You are using pip version 10.0.1, however version 19.3.1 is available.
查看>>
python zipfile模块学习笔记(一)
查看>>
Python zip函数 详解(全)
查看>>
Python \r\n与\n的转换
查看>>
python __new__中单例的作用
查看>>
python | aiofiles,一个超酷的 Python 库!
查看>>
python | akshare,一个超强的 开源Python 金融数据接口库!
查看>>
python | alabaster,一个强大的 关于alabaster 主题 Python 库!
查看>>
python | algorithms,一个超赞的 集合常用算法的Python 库!
查看>>
python调用jpype 报错:OSError JVM is already started和JVM cannot be restarted
查看>>
python | authlib,一个强大的 Python 库!
查看>>
python | awswrangler,一个高效的 Python 库!
查看>>
python | bashplotlib,一个有趣的Python库!
查看>>
python | bentoml,一个超级厉害的 模型部署 Python 库!
查看>>
python调用jar包的模块_python调用jar包
查看>>
python | black,一个神奇的 代码格式化工具 Python 库!
查看>>
python | bleach,一个超强的 Python 库!
查看>>
python | cartopy,一个有趣的 Python 库!
查看>>
python | cloud-init,一个实用的 云计算 Python 库!
查看>>