博客
关于我
python Opencv图像基础操作
阅读量:801 次
发布时间: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 NLP完整项目实战教程(1)
查看>>
Python NLP自然语言处理详解
查看>>
python nltk nltk_data 离线安装,chatterbot
查看>>
Redis 限流的 3 种方式,还有谁不会?
查看>>
Python这么慢,为啥大公司还在用?
查看>>
python note 06 编码方式
查看>>
python numba 转灰度图_使用NumPy、Numba的简单使用(二)
查看>>
Python Numpy 关于 linspace()函数 使用详解(全)
查看>>
Python numpy插入、读取至postgreSQL数据库中bytea类型字段
查看>>
Python numpy数据的保存和读取
查看>>
python numpy矩阵索引_python – 在2D numpy ndarray或numpy矩阵中获取前N个值的索引
查看>>
Python OCR库:自动化测试验证码识别神器!
查看>>
python opencv - 斑点检测或圆形检测
查看>>
Python还可以做情感分析你不看看吗?
查看>>
Python OpenCV HoughLinesP 无法检测线
查看>>
Python OpenCV-使用透明度覆盖图像
查看>>
python Opencv图像基础操作
查看>>
Python OpenCV将图像转换为字节字符串?
查看>>
python OpenCV视频的读取及保存
查看>>
python open和file的区别
查看>>