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

相关推荐
小白狮ww13 小时前
RStudio 教程:以抑郁量表测评数据分析为例
人工智能·算法·机器学习
沧海一粟青草喂马14 小时前
抖音批量上传视频怎么弄?抖音矩阵账号管理的专业指南
大数据·人工智能·矩阵
demaichuandong14 小时前
详细讲解锥齿轮丝杆升降机的加工制造工艺
人工智能·自动化·制造
ZZHow102414 小时前
02OpenCV基本操作
python·opencv·计算机视觉
理智的煎蛋14 小时前
CentOS/Ubuntu安装显卡驱动与GPU压力测试
大数据·人工智能·ubuntu·centos·gpu算力
知来者逆15 小时前
视觉语言模型应用开发——Qwen 2.5 VL模型视频理解与定位能力深度解析及实践指南
人工智能·语言模型·自然语言处理·音视频·视觉语言模型·qwen 2.5 vl
IT_陈寒15 小时前
Java性能优化:10个让你的Spring Boot应用提速300%的隐藏技巧
前端·人工智能·后端
Android出海15 小时前
Android 15重磅升级:16KB内存页机制详解与适配指南
android·人工智能·新媒体运营·产品运营·内容运营
cyyt15 小时前
深度学习周报(9.1~9.7)
人工智能·深度学习
聚客AI15 小时前
🌸万字解析:大规模语言模型(LLM)推理中的Prefill与Decode分离方案
人工智能·llm·掘金·日新计划