图像预处理(基础功能)

OpenCV

读取图像:

python 复制代码
img = cv2.imread(文件名,[显示控制参数])  #读取图像
cv2.imread(filename, flags=cv2.IMREAD_COLOR)
filename: str

描述: 需要读取的图像文件的路径和文件名。

类型: 字符串。

flags: int (可选)

描述: 图像的读取模式。这个参数决定了图像如何被读入:

cv2.IMREAD_COLOR 或 1: 读取彩色图像(默认值)。图像将被读入为一个三通道的 BGR 图像。

cv2.IMREAD_GRAYSCALE 或 0: 读取灰度图像。图像将被读入为一个单通道的灰度图像。

cv2.IMREAD_UNCHANGED 或 -1: 读取图像及其 alpha 通道(如果存在)。图像将被读入为一个包括所有##通道的图像(通常为 BGRA)。*/

调整大小

python 复制代码
cv2.resize(src, dsize, fx=0, fy=0, interpolation=cv2.INTER_LINEAR)
参数说明:
  1. src : ndarray

    • 描述: 要调整大小的输入图像。
    • 类型: 图像数据。
  2. dsize : tuple

    • 描述 : 输出图像的尺寸 (宽度, 高度)
    • 类型: 元组。
  3. fx : float (可选)

    • 描述 : 水平缩放因子。如果 dsize 被指定,这个参数可以忽略。
    • 类型: 浮点数。
  4. fy : float (可选)

    • 描述 : 垂直缩放因子。如果 dsize 被指定,这个参数可以忽略。
    • 类型: 浮点数。
  5. interpolation : int (可选)

    • 描述 : 插值方法。用于图像大小调整的插值算法。常用选项包括:
      • cv2.INTER_LINEAR: 双线性插值(默认值)。
      • cv2.INTER_NEAREST: 最近邻插值。
      • cv2.INTER_CUBIC: 三次插值。
      • cv2.INTER_LANCZOS4: Lanczos 插值。

展示图片

python 复制代码
cv2.imshow(窗口名,图像名)           #显示图像
#示例
cv2.imshow(demo,img)
cv2.waitKey(2000)       #显示时间2000ms
cv2.destroyAllWindows()#清除所有窗口


#图像保存
cv2.imwrite(文件地址,文件名)
cv2.imwrite("/home/test.jpg",img)
  1. 读取图片 :使用 cv2.imread() 函数读取图像。
  2. 显示图片 :使用 cv2.imshow() 函数显示读取的图像。
  3. 等待用户按键 :使用 cv2.waitKey() 函数等待用户的按键输入。如果参数为0,则无限等待,直到用户按下某个键。
  4. 关闭窗口 :使用 cv2.destroyAllWindows() 函数关闭所有打开的窗口。

PIL

打开和保存

python 复制代码
from PIL import Image

# 打开图像
img = Image.open("example.jpg")

# 保存图像
img.save("example_copy.png")

裁剪缩放旋转翻转

python 复制代码
# 裁剪图像
left = 100
top = 100
right = 400
bottom = 400
cropped_img = img.crop((left, top, right, bottom))

# 调整图像大小
resized_img = img.resize((200, 200))

# 旋转图像
rotated_img = img.rotate(90)

# 水平翻转图像
flipped_img = img.transpose(Image.FLIP_LEFT_RIGHT)
resize
python 复制代码
from PIL import Image

# 打开图像文件
img = Image.open("example.jpg")

# 指定新的尺寸 (宽度, 高度)
new_size = (200, 200)

# 使用resize()方法调整图像大小
resized_img = img.resize(new_size)

# 保存调整后的图像
resized_img.save("resized_example.jpg")

# 显示调整后的图像
resized_img.show()

转换模式:如RGB、L mode(灰度图像)等

python 复制代码
# 转换为灰度图像
gray_img = img.convert("L")

# 转换为RGBA图像(带透明度)
rgba_img = img.convert("RGBA")
相关推荐
大写-凌祁29 分钟前
零基础入门深度学习:从理论到实战,GitHub+开源资源全指南(2025最新版)
人工智能·深度学习·开源·github
焦耳加热1 小时前
阿德莱德大学Nat. Commun.:盐模板策略实现废弃塑料到单原子催化剂的高值转化,推动环境与能源催化应用
人工智能·算法·机器学习·能源·材料工程
深空数字孪生1 小时前
储能调峰新实践:智慧能源平台如何保障风电消纳与电网稳定?
大数据·人工智能·物联网
wan5555cn1 小时前
多张图片生成视频模型技术深度解析
人工智能·笔记·深度学习·算法·音视频
格林威2 小时前
机器视觉检测的光源基础知识及光源选型
人工智能·深度学习·数码相机·yolo·计算机视觉·视觉检测
今天也要学习吖2 小时前
谷歌nano banana官方Prompt模板发布,解锁六大图像生成风格
人工智能·学习·ai·prompt·nano banana·谷歌ai
Hello123网站2 小时前
glean-企业级AI搜索和知识发现平台
人工智能·产品运营·ai工具
AKAMAI3 小时前
Queue-it 为数十亿用户增强在线体验
人工智能·云原生·云计算
索迪迈科技3 小时前
INDEMIND亮相2025科技创变者大会,以机器人空间智能技术解锁具身智能新边界
人工智能·机器人·扫地机器人·空间智能·陪伴机器人
鹅毛在路上了3 小时前
C++, ffmpeg, libavcodec-RTSP拉流,opencv实时预览
c++·opencv·ffmpeg