Opencv之读取图片

embedded/2024/10/19 0:21:25/

目录

    • 安装opencv
    • 读取彩色图片
    • 显示图片
    • 读取灰度图片
    • 结论

opencv_1">安装opencv

pip install opencv-python

在这里插入图片描述

读取彩色图片

使用OpenCV库读取彩色图片,其格式默认为BGR。
下面的代码展示了如何读取一张名为bg.jpg的彩色图片,并获取其相关信息。
在这里插入图片描述

import cv2# 读取彩色图片
img = cv2.imread('bg.jpg', cv2.IMREAD_COLOR)# 打印图片数据类型
print('图片数据类型:', type(img))# 打印图片的形状 (高度, 宽度, 通道数)
print('彩色图的形状:', img.shape)# 打印图像的像素点个数
print('彩色图的像素点个数:', img.size)

在这里插入图片描述

显示图片

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

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

读取灰度图片

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

# 读取灰度图片
img_gray = cv2.imread('bg.jpg', cv2.IMREAD_GRAYSCALE)# 打印灰度图的形状
print('灰度图的形状:', img_gray.shape)# 打印灰度图的像素点个数
print('灰度图的像素点个数:', img_gray.size)# 显示灰度图片
img_show('gray_image', img_gray)

在这里插入图片描述

结论

在这里插入图片描述
在这里插入图片描述
结合上篇文章我们可以看出 彩色图的像素点个数是灰度图的两倍

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

彩色图像由RGB三通道构成,每个像素点包含三个子像素(红、绿、蓝),而灰度图像只有一个通道。尽管如此,彩色图像和灰度图像在视觉上具有相同的宽度和高度。

👇 源码资料获取 · 技术与交流 👇

在这里插入图片描述


http://www.ppmy.cn/embedded/126962.html

相关文章

每天一个数据分析题(四百九十六)- 决策树模型

回归树是可以用于回归的决策树模型,一个回归树对应着输入空间(即特征空间)的一个划分以及在划分单元上的输出值。以下哪个指标可用于回归树中的模型比较 A. Adjusted R2 B. F-measure C. AUC D. Precision & Recall 数据分析认证考试…

【笔记】Day2.5.1查询运费模板列表(未完

(一)代码编写 1.阅读需求,确保理解其中的每一个要素: 获取全部运费模板:这意味着我需要从数据库中查询所有运费模板数据。按创建时间倒序排序:这意味着查询结果需要根据模板的创建时间进行排序&#xff0…

Jenkins新安装的插件ThinBackup,如何恢复之前的备份

一、恢复列表为空 由于是新安装的插件,这里的恢复列表为空。 需要先进行配置,设置其备份的目录。 二、设置Settings 填写后,此时恢复列表就有了备份。 三、jenkins机器所在的备份目录 恢复的目标既支持.zip压缩文件,也支持FULL-…

二、后台管理系统布局菜单可拖动

前两天产品提出了一个需求,说后台管理系统的左边菜单的名称字数过多,遮挡了。希望能让客户能够看到全部的名称,给左侧菜单增加一个可拖动的功能,经过我的研究,这个功能最终也做出来了,先看效果,…

10.12面试题

代理模式 为什么需要代理模式? 1.中介隔离 客户类不想或者不能直接引用委托对象,需要使用代理类作为中介,需要代理类和委托对象都实现同一接口 2.满足开闭原则 若客户类需要委托对象新增某些功能,就需要代理类在调用委托对象…

Java->排序

目录 一、排序 1.概念 2.常见的排序算法 二、常见排序算法的实现 1.插入排序 1.1直接插入排序 1.2希尔排序(缩小增量法) 1.3直接插入排序和希尔排序的耗时比较 2.选择排序 2.1直接选择排序 2.2堆排序 2.3直接选择排序与堆排序的耗时比较 3.交换排序 3.1冒泡排序…

1002-补打卡-leetcode打卡,有序数组去除重复出现超过2次的元素

删除有序数组中的重复项 II 中等 相关标签 相关企业 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数…

JAVA Web(学习笔记)

HTTP HTTP信息头,也成为头字段或部首,是构成HTTP报文的要素之一,具有传递额外重要信息的作用。 HTTP信息头通常包括4类: 请求头(Request Header)响应头(Response Header)通用头实体头 请求头是从客户端向服务器发送请求报文时所用…