1.cv2.imdecode 是 OpenCV 库中的一个函数,用于从内存中的数据解码图像。这通常用于从文件、网络传输或数据库中读取图像数据而不必直接从磁盘读取。此函数特别适用于处理字节数组形式的图像数据。
img = cv2.imdecode(buf, flags=None)
参数说明:
buf:一个 NumPy 数组或 Python 字节对象,包含图像数据。
flags:可选参数,指定图像解码标志。它可以是以下值之一:
cv2.IMREAD_COLOR (-1):加载彩色图像。任何图像透明度都会被忽略。这是默认值。
cv2.IMREAD_GRAYSCALE (0):以灰度模式加载图像。
cv2.IMREAD_UNCHANGED (1):加载图像,包括 Alpha 通道(如果有)。
返回值:
返回一个 NumPy 数组,表示解码后的图像。
2.np.fromfile 是 NumPy 库中的一个函数,用于从二进制文件中读取数据并将其转换为 NumPy 数组。这个函数特别适合于从二进制文件中读取原始数据,例如图像文件或其他类型的二进制数据文件。
参数说明:
file:文件名或一个打开的文件对象。
dtype:数据类型。这可以是一个 NumPy 数据类型(如 np.uint8、np.float32 等)。
count:要从文件中读取的元素数量。如果设置为 -1(默认值),则会读取整个文件。
sep:元素之间的分隔符。对于二进制文件,此参数通常为空字符串 ‘’。
offset:从文件开始位置跳过的字节数。这可以用来跳过文件头或其他不需要的数据。
返回值:
返回一个 NumPy 数组,包含从文件中读取的数据。
示例代码:
假设你有一个图像文件保存在 image.jpg 中,我们可以使用 np.fromfile 读取这个文件的数据,然后使用 cv2.imdecode 来解码它。
# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import cv2
import numpy as np
# 1.读取图像文件到 NumPy 数组
image_data = np.fromfile('猫女.png', dtype=np.uint8)
# 2.使用 cv2.imdecode 解码图像
img = cv2.imdecode(image_data, cv2.IMREAD_COLOR)
# 3.显示图像
cv2.imshow('Decoded Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
完毕!!感谢您的收看
----------★★历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame