Opencv之读取图片

目录

安装opencv

bash 复制代码
pip install opencv-python

读取彩色图片

使用OpenCV库读取彩色图片,其格式默认为BGR。

下面的代码展示了如何读取一张名为bg.jpg的彩色图片,并获取其相关信息。

python 复制代码
import cv2

# 读取彩色图片
img = cv2.imread('bg.jpg', cv2.IMREAD_COLOR)

# 打印图片数据类型
print('图片数据类型:', type(img))

# 打印图片的形状 (高度, 宽度, 通道数)
print('彩色图的形状:', img.shape)

# 打印图像的像素点个数
print('彩色图的像素点个数:', img.size)

显示图片

为了显示图片,可以使用cv2.imshow函数。以下是一个自定义的函数img_show,用于显示图片并等待用户按键后关闭窗口。

python 复制代码
def img_show(name, img):
    """
    显示图片
    :param name: 窗口名字
    :param img: 图片对象
    :return: None
    """
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

读取灰度图片

灰度图片只包含一个通道,下面的代码展示了如何读取灰度图片,并获取其相关信息。

python 复制代码
# 读取灰度图片
img_gray = cv2.imread('bg.jpg', cv2.IMREAD_GRAYSCALE)

# 打印灰度图的形状
print('灰度图的形状:', img_gray.shape)

# 打印灰度图的像素点个数
print('灰度图的像素点个数:', img_gray.size)

# 显示灰度图片
img_show('gray_image', img_gray)

结论



结合上篇文章我们可以看出 彩色图的像素点个数是灰度图的两倍

但是图片显示的大小没有啥区别,可以推出在宽度和高度向同时,彩色的图是三个子像素点组成一个视觉像素点,也就是三个通道

彩色图像由RGB三通道构成,每个像素点包含三个子像素(红、绿、蓝),而灰度图像只有一个通道。尽管如此,彩色图像和灰度图像在视觉上具有相同的宽度和高度。
👇 源码资料获取 · 技术与交流 👇

相关推荐
小雷FansUnion6 分钟前
深入理解MCP架构:智能服务编排、上下文管理与动态路由实战
人工智能·架构·大模型·mcp
资讯分享周9 分钟前
扣子空间PPT生产力升级:AI智能生成与多模态创作新时代
人工智能·powerpoint
叶子爱分享1 小时前
计算机视觉与图像处理的关系
图像处理·人工智能·计算机视觉
鱼摆摆拜拜1 小时前
第 3 章:神经网络如何学习
人工智能·神经网络·学习
一只鹿鹿鹿1 小时前
信息化项目验收,软件工程评审和检查表单
大数据·人工智能·后端·智慧城市·软件工程
张较瘦_2 小时前
[论文阅读] 人工智能 | 深度学习系统崩溃恢复新方案:DaiFu框架的原位修复技术
论文阅读·人工智能·深度学习
cver1232 小时前
野生动物检测数据集介绍-5,138张图片 野生动物保护监测 智能狩猎相机系统 生态研究与调查
人工智能·pytorch·深度学习·目标检测·计算机视觉·目标跟踪
学技术的大胜嗷2 小时前
离线迁移 Conda 环境到 Windows 服务器:用 conda-pack 摆脱硬路径限制
人工智能·深度学习·yolo·目标检测·机器学习
还有糕手2 小时前
西南交通大学【机器学习实验10】
人工智能·机器学习
江瀚视野2 小时前
百度文心大模型4.5系列正式开源,开源会给百度带来什么?
人工智能