Python OpenCV图片读取和保存

显示图像
python 复制代码
import cv2
import numpy as np

img = cv2.imread('image.jpg')  # 读取图像
cv2.imshow('src',img)          # 显示图像,图像显式名字src
cv2.waitKey(2000)              # 等待按键按下,等待2秒( 2000: 等待2秒(2000ms) 0:一直等待
存储图像
python 复制代码
# 读取灰色图像(默认彩色图,cv2.IMREAD_GRAYSCALE 灰度图,cv2.IMREAD_UNCHANGED 包含alpha通道)
img = cv2.imread('image.jpg',cv2.IMREAD_GRAYSCALE)  
cv2.imwrite('grayImage.png',img)	# 存储图像(会根据后缀,自动转换为对应格式)

中文路径

python 复制代码
cv2.imwrite(filename, img)
修改为
cv2.imencode('.jpg', img)[1].tofile(filename)
 
cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
修改为
cv2.imdecode(np.fromfile(filename, dtype=np.uint8), cv2.IMREAD_GRAYSCALE)
图像缩放
python 复制代码
img = cv2.resize(img,(160,120))  #//更改宽(列)=160 ,高(行)=120
读取图像数据
python 复制代码
img = cv2.imread('image.jpg')  # 读取图像(返回的是numpy,方便后续数据处理) 
print(img.shape)               # 图像的高(行数)h, 宽(列数)w, 通道数c  --  如(240,320,3)   
print(img.size)                # 图像大小(总像素数目)                 --  如230400       
print(img.dtype)               # 数据类型                             -- 如 uint8         
print(img)                     # 输出图像的数据  

在进行图像处理时,需要注意以下原则:

  • 遵守版权规定:在处理他人图像时,应确保遵守版权规定,不侵犯他人版权。
  • 图像处理算法选择:根据实际需求选择合适的图像处理算法,避免过度处理。
  • 图像质量:在处理过程中,注意保持图像质量,避免失真或模糊。
  • 图像尺寸与分辨率:在处理图像时,注意图像的尺寸和分辨率,以满足后续处理和分析的需求。
  • 图像文件格式:选择合适的图像文件格式,以平衡存储空间和处理速度。
imread函数

使用imread()读取图像,imread包含两个参数:

imread(图像路径, 图像形式);

其中图像形式有三种:

  • 加载彩色图像(默认加载形式)
python 复制代码
imread(图像路径, IMREAD_COLOR);

或者:

python 复制代码
imread(图像路径, 1);
  • 加载灰度模式图像
python 复制代码
imread(图像路径, IMREAD_GRAYSCALE);

或者:

python 复制代码
imread(图像路径, 0);
  • 加载图像,包括alpha通道
python 复制代码
imread(图像路径,IMREAD_UNCHANGED);

或者:

python 复制代码
imread(图像路径, -1);
namedWindow函数

功能:namedWindow() 的功能就是新建一个显示窗口,用来显示图像。

namedWindow() 包含两个参数:

python 复制代码
namedWindow(窗口名称, 窗口形式)

窗口形式常用的两种:

  • 显示的图像大小不能改变(默认形式)

    python 复制代码
    namedWindow(窗口名称, WINDOW_AUTOSIZE)
  • 图像大小能够调节

    python 复制代码
    namedWindow(窗口名称, WINDOW_NORMAL)
imshow函数

功能:imshow函数用于显示图像。

imshow() 函数包含两个参数:

imshow(窗口名称,图像名称)

imwrite函数

功能:imwrite函数用于显示图像。
imwrite() 函数包含两个参数:

imwrite(保存图像名称及格式,图像名称)

相关推荐
橘猫云计算机设计7 分钟前
基于django优秀少儿图书推荐网(源码+lw+部署文档+讲解),源码可白嫖!
java·spring boot·后端·python·小程序·django·毕业设计
互联网杂货铺14 分钟前
如何用Postman实现自动化测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
予安灵21 分钟前
一文详细讲解Python(详细版一篇学会Python基础和网络安全)
开发语言·python
神马行空1 小时前
一文解读DeepSeek大模型在政府工作中具体的场景应用
人工智能·大模型·数字化转型·deepseek·政务应用
合合技术团队1 小时前
实测对比|法国 AI 独角兽公司发布的“最强 OCR”,实测效果如何?
大数据·人工智能·图像识别
冷月半明1 小时前
Python项目打包指南:PyInstaller与SeleniumWire的兼容性挑战及解决方案
python·selenium
冷月半明1 小时前
《Pandas 性能优化:向量化操作 vs. Swifter 加速,谁才是大数据处理的救星?》
python·数据分析·pandas
蒹葭苍苍8731 小时前
LoRA、QLoRA微调与Lama Factory
人工智能·笔记
蹦蹦跳跳真可爱5891 小时前
Python----机器学习(基于PyTorch的线性回归)
人工智能·pytorch·python·机器学习·线性回归
搞不懂语言的程序员1 小时前
装饰器模式详解
开发语言·python·装饰器模式