博客
关于我
python Opencv图像基础操作
阅读量:805 次
发布时间: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 使用flush函数将缓冲区数据立即写磁盘
查看>>
python 使用in判断不准确,in不好使
查看>>
Python 使用pandas 进行查询和统计详解
查看>>
Redis 配置文件redis.conf详细解释
查看>>
python网络爬虫(2)——scrapy框架的基础使用
查看>>
python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
查看>>
Python 使用哈希函数用于加密
查看>>
Python 依赖管理的革新——Poetry 深度解析
查看>>
python 保留精度及增加去除数字的千位分隔符(金额化数字)
查看>>
python 倒计时 9,8,7,。。。。。。0
查看>>
Python 入门开发学习笔记之数据的增删改查
查看>>
Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
查看>>
Python 八大排序算法合集
查看>>
python 关于epoll的学习
查看>>
Python 内存管理
查看>>
Python 内嵌函数:它们有什么用处?
查看>>
Python 内置 sum 函数 vs. for 循环性能
查看>>
python 内置slice的用法
查看>>
Python 内置时间模块
查看>>
python 内部如何实现命名元组?
查看>>