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

相关推荐
码上淘金36 分钟前
【Python】Python常用控制结构详解:条件判断、遍历与循环控制
开发语言·python
Brilliant Nemo38 分钟前
四、SpringMVC实战:构建高效表述层框架
开发语言·python
2301_787552871 小时前
console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI
人工智能·python·gpt·开源·自动化
懵逼的小黑子1 小时前
Django 项目的 models 目录中,__init__.py 文件的作用
后端·python·django
layneyao1 小时前
AI与自然语言处理(NLP):从BERT到GPT的演进
人工智能·自然语言处理·bert
Y3174292 小时前
Python Day23 学习
python·学习
Ai尚研修-贾莲2 小时前
Python语言在地球科学交叉领域中的应用——从数据可视化到常见数据分析方法的使用【实例操作】
python·信息可视化·数据分析·地球科学
jndingxin2 小时前
OpenCV 的 CUDA 模块中用于将多个单通道的 GpuMat 图像合并成一个多通道的图像 函数cv::cuda::merge
人工智能·opencv·计算机视觉
格林威2 小时前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉
灬0灬灬0灬3 小时前
深度学习---常用优化器
人工智能·深度学习