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(保存图像名称及格式,图像名称)

相关推荐
冬奇Lab4 小时前
Workflow 系列(04):Multi-Agent 协调——编排器边界、并发控制与上下文隔离
人工智能·工作流引擎
冬奇Lab4 小时前
每日一个开源项目(第147篇):HyperGraphRAG - 用超图表示 N 元关系,RAG 的第三代范式
人工智能·开源·graphql
甲维斯5 小时前
Github + 阿里云oss实现类似codex的自动更新!
人工智能
阿里云大数据AI技术7 小时前
光轮智能 × 阿里云:共建 Physical AI 云上数据、评测与持续学习基础设施
人工智能·机器学习
机器之心7 小时前
实锤了:Claude Code偷查用户,时区、中国AI实验室全是关键词
人工智能·openai
网易云信7 小时前
Cursor点燃个人开发者,企业级AI为何频频受挫?Agent工厂从提效工具到AI员工的跃迁
人工智能·开源
网易云信7 小时前
解锁触手可及的温暖:网易智企 x Wander Puffs AI 云游泡芙
人工智能
转转技术团队7 小时前
从 PRD 到可验证代码:AI 需求开发闭环实践
人工智能