实战OpenCV之图像的属性

news2024/11/17 13:56:58

基础入门

        图像的属性指的是描述图像基本信息的数据,包括但不限于:图像的尺寸、颜色通道数、像素数据类型等。这些属性对于图像处理非常重要,因为它们直接关系到如何正确地读取、处理和存储图像。常见的图像属性包括:

        尺寸:图像的宽度和高度,可通过OpenCV中的image.size()来获取。

        颜色通道数:图像中表示颜色信息的不同分量的数量。常见的颜色空间有RGB、灰度、HSV 等,不同颜色空间对应的通道数不同。RGB有红、绿、蓝三个颜色通道,灰度有单个灰度通道,HSV有色调(Hue)、饱和度(Saturation)、明度(Value)三个颜色通道。颜色通道数可通过OpenCV中的image.channels()来获取。

        步长:指在图像数据中,从一行的开始到下一行开始所需的字节数,即每一行的字节数。步长可能比像素宽度大,以适应内存对齐。步长允许图像数据跨越不连续的内存块,这样即使图像数据不是连续存储的,也能够正确地访问图像数据。步长可通过OpenCV中的image.step和image.rowStep()来获取。

接口介绍

        除了以上的属性外,图像还有其他一些有用的属性,包括:深度、像素总数、像素数据类型等。下面,我们将介绍各个属性的含义,以及如何通过OpenCV接口获取这些属性。

        深度:表示图像中每个像素的位数,可通过image.depth()获取。比如:8位无符号整型的深度为CV_8U,32位单精度浮点型的深度为CV_32F。

        连续性:指示图像数据是否连续存储在内存中,可通过image.isContinuous()获取。

        元素总数:图像中像素的总数,可通过image.total()获取。

        数据指针:指向图像数据的指针,可通过image.data或image.ptr()获取。

        像素数据类型:不仅包括深度信息,还包含了通道数的信息,可通过image.type()获取。在OpenCV中,像素数据类型是一个组合标识符,它结合了深度和通道数来表示图像中每个像素的完整数据类型。举几个例子,可能有助于我们进一步理解。

        (1)CV_8UC1:每个像素占用8位,单通道(灰度图像)。

        (2)CV_8UC3:每个像素占用8位,三通道(RGB彩色图像)。

        (3)CV_16UC1:每个像素占用16位,单通道。

        (4)CV_32FC1:每个像素占用32位,单通道。

        图像的行:图像的行数,可通过image.rows获取。

        图像的列:图像的列数,可通过image.cols获取。

        元素的字节步长:图像单行数据的字节跨度,可通过image.step1()获取。如果矩阵是连续的(即没有步长或偏移),那么它将返回每行所占的字节数。如果矩阵只有一行,则返回值就是整个矩阵的宽度乘以每个元素的大小。如果矩阵有多行,并且每一行都是连续存储的,那么step1()返回的将是这些连续行的字节宽度。

        元素占用的字节数:图像中单个元素的字节数,可通过image.elemSize()获取。对于CV_8UC3类型的图像矩阵,elemSize()会返回3。

实战解析

        下面的实战代码读取了一个图像文件,并打印输出了其图像属性,包括:图像尺寸、颜色通道数、步长、图像深度、图像连续性、元素总数、像素数据类型、图像的行数、图像的列数、元素的字节步长、元素占用的字节数等。

#include <opencv2/opencv.hpp>
using namespace cv;

#include <iostream>
using namespace std;

int main()
{
    Mat image = imread("OpenCV.png");
    if(image.empty())
    {
        cout << "Can not open or find the image" << endl;
        return -1;
    }

    cout << "Image Size: " << image.size().width << " x " << image.size().height << endl;
    cout << "Image Channels: " << image.channels() << endl;
    cout << "Image Step: " << image.step << endl;
    cout << "Image Depth: " << image.depth() << endl;
    cout << "Image is Continuous: " << image.isContinuous() << endl;
    cout << "Total Elements: " << image.total() << endl;
    cout << "Image Type: " << image.type() << endl;
    cout << "Image Rows: " << image.rows << endl;
    cout << "Image Cols: " << image.cols << endl;
    cout << "Image Byte Step: " << image.step1() << endl;
    cout << "Image Element Size: " << image.elemSize() << endl;

    waitKey(0);
    destroyAllWindows();
    return 0;
}

        执行上面的示例代码,运行效果可参考下图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2052386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WandB 简明教程【Weights Bias】

在机器学习实验领域&#xff0c;调整超参数类似于微调复杂机器的旋钮和刻度盘。这些参数通常很微妙但至关重要&#xff0c;能够显著影响我们模型的性能和行为。WandB&#xff08;权重和偏差 ) 是一个强大的在线工具集&#xff0c;旨在简化模型训练、评估和分析的过程。 随着我…

TCP shutdown 之后~

目录 摘要 1 API 2 shutdown(sockfd, SHUT_WR) 3 shutdown(sockfd, SHUT_WR) 4 kernel 是怎么做的&#xff1f; 附 摘要 通过 shutdown() 关闭读写操作&#xff0c;会发生什么&#xff1f;具体点呢&#xff0c;考虑两个场景&#xff1a; 场景一&#xff1a;C 发送数据完毕…

VBA技术资料MF184:图片导入Word添加说明文字设置格式

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

C ++初阶:C++入门级知识点

&#x1f37a;0.前言 言C之言&#xff0c;聊C之识&#xff0c;以C会友&#xff0c;共向远方。各位博友的各位你们好啊&#xff0c;这里是持续分享C知识的小赵同学&#xff0c;今天要分享的C知识是C入门知识点&#xff0c;在这一章&#xff0c;小赵将会向大家展开聊聊C入门知识…

基于Mediapipe的手势识别系统 | OpenCV | Mediapipe | C++ | QT | Python | C# | Unity

基于Mediapipe的手势识别系统 OpenCV、Mediapipe C (QT)、Python (PyCharm)、C# (Visual Studio) Unity 3D 登录界面 图片手势识别 视频文件手势识别 摄像头实时手势识别 演示视频 基于Mediapipe的手势识别系统

UDP和TCP协议段格式分析

目录 UDP协议 特点 UDP协议的缓冲区 UDP协议段格式 TCP协议 特点 如何理解TCP是传输控制协议&#xff1f; TCP协议段格式 四位首部长度 16位窗口大小 32位序号 32位确认序号 TCP/IP四层模型&#xff1a; UDP协议 UDP&#xff08;User Datagram Protocol &#xff…

十大护眼落地灯品牌哪款好?十大护眼落地灯品牌

十大护眼落地灯品牌哪款好&#xff1f;根据国际市场的研究数据表明&#xff0c;我国在日常生活中对电子产品的依赖度极高&#xff0c;每天看电子产品的时间超过8小时&#xff0c;出现眼睛酸痛、干涩、视觉疲劳的人群也不再少数&#xff0c;而给眼睛带来伤害的除了电子产品中所含…

界面控件DevExpress ASP.NET Web Forms v24.1最新版本系统环境配置要求

本文档包含有关安装和使用 DevExpress ASP.NET Web Forms控件的系统要求的信息。 点击获取DevExpress v24.1正式版 .NET Framework DevExpress ASP.NET Web Forms控件支持以下.NET框架版本。 如果您需要 DevExpress 产品的早期版本&#xff0c;请直接戳这里联系我>> …

MySQL中的EXPLAIN的详解

一、介绍 官网介绍&#xff1a; https://dev.mysql.com/doc/refman/5.7/en/explain-output.htmlhttps://dev.mysql.com/doc/refman/8.0/en/explain-output.htmlexplain&#xff08;执行计划&#xff09;&#xff0c;使用explain关键字可以模拟优化器执行sql查询语句&#xff…

爆火的本地知识库项目是什么?什么是RAG?本地知识库与大模型的关系

“ 本地知识库就相当于大模型的外部资料库。” 很多人应该都听过本地知识库项目&#xff0c;它是当今人工智能领域爆火的项目之一&#xff0c;那么到底什么是本地知识库&#xff1f;它和大模型有什么关系&#xff1f;怎么构建本地知识库&#xff1f; 01 — 为什么需要本地知…

Docker的介绍、保姆级安装和使用

一、Docker简介 1.1、Docker是什么 Docker是一个用于开发、发布和运行应用程序的开放平台;使您能够将应用程序与基础设施分离,以便您可以快速交付软件。不像虚拟机那样笨重(比如:我需要将一个安装好nginx环境的内容分享给其他人: 方式一【使用虚拟】(应用程序Nginx与基…

系统架构设计师 - 软件工程(2)

软件工程 软件工程&#xff08;13-22分&#xff09;非常重要软件系统建模系统设计界面设计 ★★软件设计结构化设计 ★★面向对象设计 ★★★★★基本过程设计原则设计模式创建型模式&#xff1a;创建对象结构型模式&#xff1a;更大的结构行为型模式&#xff1a;交互及职责分配…

四川财谷通信息技术有限公司抖音小店优势解析

在数字经济蓬勃发展的今天&#xff0c;电商平台如雨后春笋般涌现&#xff0c;其中&#xff0c;四川财谷通信息技术有限公司旗下的抖音小店凭借其独特的优势和强大的实力&#xff0c;在众多竞争者中脱颖而出&#xff0c;成为消费者和商家信赖的优选平台。本文将详细解析四川财谷…

Windows键快捷键大全

Windows键快捷键大全 Windows键结合其他键可以执行多种快捷操作&#xff0c;以下是一些常用的Windows键快捷键&#xff1a; Windows键 D: 显示或隐藏桌面。Windows键 E: 打开文件资源管理器。Windows键 L: 锁定电脑。Windows键 R: 打开运行对话框。Windows键 I: 打开Win…

Java中JDK动态代理

参考&#xff1a;疯狂Java讲义 第18章 文章目录 前言复杂度与耦合的矛盾 使用JDK动态代理总结 前言 复杂度与耦合的矛盾 开发实际应用的软件系统时&#xff0c;通常会存在相同代码段重复出现的情况&#xff0c;在这种情况下&#xff0c;一般都提取为一个方法&#xff0c;在不…

SOP企业内部推行:效率飙升100%,质量保障零瑕疵!

在企业的日常运营中&#xff0c;你是否经常遇到这样的问题&#xff1a;同样一项工作&#xff0c;不同的人做出来效果却大相径庭&#xff1f;或者&#xff0c;明明已经制定了工作流程&#xff0c;但执行起来却总是出现偏差&#xff0c;导致效率低下、质量不稳&#xff1f;这些问…

【STM32单片机_(HAL库)】3-2-2【中断EXTI】【电动车报警器项目】继电器定时开闭

1.硬件 STM32单片机最小系统继电器模块 2.软件 继电器模块alarm驱动文件添加GPIO常用函数main.c程序 #include "sys.h" #include "delay.h" #include "led.h" #include "alarm.h"int main(void) {HAL_Init(); …

海外服务器和内地服务器有什么区别?

海外服务器和内地服务器在许多方面存在区别&#xff0c;主要包括以下几个方面&#xff1a; 1. 地理位置 海外服务器&#xff1a;位于中国大陆以外的地区&#xff0c;比如美国、欧洲、东南亚等地。常见的海外服务器提供商有Amazon Web Services&#xff08;AWS&#xff09;、Goo…

稚晖君发布5款全能人形机器人,开源创新,全能应用

8月18日&#xff0c;智元机器人举行“智元远征 商用启航” 2024年度新品发布会&#xff0c;智元联合创始人彭志辉主持并发布了“远征”与“灵犀”两大系列共五款商用人形机器人新品——远征A2、远征A2-W、远征A2-Max、灵犀X1及灵犀X1-W&#xff0c;并展示了在机器人动力、感知、…

【LLM之Base Model】Weaver论文阅读笔记

研究背景 当前的大型语言模型&#xff08;LLM&#xff09;如GPT-4等&#xff0c;尽管在普通文本生成中表现出色&#xff0c;但在创造性写作如小说、社交媒体内容等方面&#xff0c;往往不能很好地模仿人类的写作风格。这些模型在训练和对齐阶段&#xff0c;往往使用的是大规模…