显示图像
import cv2
import numpy as np
img = cv2.imread('image.jpg') # 读取图像
cv2.imshow('src',img) # 显示图像,图像显式名字src
cv2.waitKey(2000) # 等待按键按下,等待2秒( 2000: 等待2秒(2000ms) 0:一直等待
存储图像
# 读取灰色图像(默认彩色图,cv2.IMREAD_GRAYSCALE 灰度图,cv2.IMREAD_UNCHANGED 包含alpha通道)
img = cv2.imread('image.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imwrite('grayImage.png',img) # 存储图像(会根据后缀,自动转换为对应格式)
中文路径
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)
图像缩放
img = cv2.resize(img,(160,120)) #//更改宽(列)=160 ,高(行)=120
读取图像数据
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(图像路径, 图像形式);
其中图像形式有三种:
- 加载彩色图像(默认加载形式)
imread(图像路径, IMREAD_COLOR);
或者:
imread(图像路径, 1);
- 加载灰度模式图像
imread(图像路径, IMREAD_GRAYSCALE);
或者:
imread(图像路径, 0);
- 加载图像,包括alpha通道
imread(图像路径,IMREAD_UNCHANGED);
或者:
imread(图像路径, -1);
namedWindow函数
功能:namedWindow()
的功能就是新建一个显示窗口,用来显示图像。
namedWindow()
包含两个参数:
namedWindow(窗口名称, 窗口形式)
窗口形式常用的两种:
-
显示的图像大小不能改变(默认形式)
namedWindow(窗口名称, WINDOW_AUTOSIZE)
-
图像大小能够调节
namedWindow(窗口名称, WINDOW_NORMAL)
imshow函数
功能:imshow函数用于显示图像。
imshow()
函数包含两个参数:
imshow(窗口名称,图像名称)
imwrite函数
功能:imwrite函数用于显示图像。
imwrite()
函数包含两个参数:
imwrite(保存图像名称及格式,图像名称)