8.java openCV4.x 入门-Mat之多维元组(Tuple)

news2024/10/5 18:32:18
专栏简介

💒个人主页
📰专栏目录

点击上方查看更多内容
📖心灵鸡汤📖

我们唯一拥有的就是今天,唯一能把握的也是今天


建议把本文当作笔记来看,据说专栏目录里面有相应视频🤫
🧭文章导航🧭
⬆️ 7.Mat之转换、重塑与计算
⬇️ 9.特殊的Mat类汇总(一)

Mat之多维元组(Tuple)

  • 一、 Mat.Atable<T>
    • 1.Mat.Atable介绍
    • 2.方法介绍
  • 二、Mat.Tuple
    • 1.Mat.Tuple4<T> 介绍
      • 1.构造函数
      • 2.方法介绍
  • 三、元素操作
    • 1.<T> Mat.Atable<T> at​(java.lang.Class<T> clazz, int[ ] idx)

   本节内容了解即可!!!
   在Mat类中,我们看到有这样两个方法。返回的对象是 <T> Mat.Atable<T>

在这里插入图片描述
  这两个方法可以用来获取指定位置的像素值。同时可以指定要获取的元素值的类型(指定的类型需要和矩阵的数据类型对应才行)。并且可以通过返回的对象对该位置的像素值进行精细处理。

一、 Mat.Atable

1.Mat.Atable介绍

   在此之前我们先了解下<T> Mat.Atable<T>
在这里插入图片描述

我们可以看出,它是位于Mat类中的一个接口,这个接口允许你以各种组合形式获取和设置矩阵元素。然而,请注意,虽然这个接口定义了这些方法,但具体如何实现这些方法取决于具体实现这个接口的类。如下所示
在这里插入图片描述

2.方法介绍

  相关方法作用如下图所示:
在这里插入图片描述

二、Mat.Tuple

  它是一个嵌套类。有Tuple2、Tuple3、Tuple4 这三个类,分别用来表示一个具有两个元素、三个元素、四个元素的元组。它用于表示图像中的像素值。

1.Mat.Tuple4 介绍

  我们以Mat.Tuple4<T>为例进行说明。
  作用:
  存储像素值:在图像处理中,Mat.Tuple4可以用来存储每个像素点的像素值,包括多个通道的值。
  访问像素值:可以通过Mat.Tuple4的方法获取和修改元组中每个通道的值,进行像素级的操作和处理。
  处理多通道图像:对于多通道的图像,Mat.Tuple4提供了方便的数据结构,可以方便地处理和操作多通道图像数据。

1.构造函数

在这里插入图片描述
  通过构造函数,可以看出,接受两个参数,分别代表元组中的四个元素。_0, _1,_2,_3 可以用来分别表示图像中的红、绿、蓝、透明度这四个通道。

2.方法介绍

  直接上图了,比较容易理解
在这里插入图片描述

三、元素操作

  了解之后我们演示下使用示例。

1. Mat.Atable at​(java.lang.Class clazz, int[ ] idx)

Mat.Atable at​(java.lang.Class clazz, int[] idx)
参数:
clazz 指定获取值的类型,可以是Byte.class、Short.class、Integer.class、Float.class或Double.class
idx 指定像素的位置,以数组形式表示
public class MatExample {
    public static void main(String[] args) {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat mat = new Mat(1,2,CvType.CV_32FC4);
        mat.put(0,0,1,2,3,4,5,6,7,8);
        System.out.println("mat.dump() = \n" + mat.dump());
        Mat.Atable<Float> at = mat.at(Float.class, 0, 0);
        //获取像素值
        Mat.Tuple4<Float> v4c = at.getV4c();
        System.out.println("B通道值 = " + v4c.get_0());
        System.out.println("G通道值 = " + v4c.get_1());
        System.out.println("R通道值 = " + v4c.get_2());
        System.out.println("透明度  = " + v4c.get_3());
        //设置值
        Mat.Tuple4<Float> tuple4 = new Mat.Tuple4<>(11f,22f,33f,44f);
        at.setV4c(tuple4);
        System.out.println("mat.dump() = \n" + mat.dump());

    }
}

结果:

mat.dump() =
[1, 2, 3, 4, 5, 6, 7, 8]
B通道值 = 1.0
G通道值 = 2.0
R通道值 = 3.0
透明度 = 4.0
mat.dump() =
[11, 22, 33, 44, 5, 6, 7, 8]

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

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

相关文章

【深度学习基础】

打基础日常记录 CNN基础知识1. 感知机2. DNN 深度神经网络&#xff08;全连接神经网络&#xff09;DNN 与感知机的区别DNN特点&#xff0c;全连接神经网络DNN前向传播和反向传播 3. CNN结构【提取特征分类】4. CNN应用于文本 RNN基础1. RNN的本质 词向量模型word2Vec1. 自然语言…

CentOS系统的小小基础

CentOS系统的小小基础 1、基础命令查看系统查看显存 2、常见问题创建文件后出现 E325: ATTENTION Found a swap file by the name ".文件名.swp"自己创建了方便的脚本共所有用户使用yum换源清楚僵尸进程 Linux 使用Anacondapip换源下载安装 NVIDIA Driver 1、基础命令…

语音特征的反应——语谱图

语谱图的横坐标为时间&#xff0c;纵坐标为对应时间点的频率。坐标中的每个点用不同颜色表示&#xff0c;颜色越亮表示频率越大&#xff0c;颜色越淡表示频率越小。可以说语谱图是一个在二维平面展示三维信息的图,既能够表示频率信息,又能够表示时间信息。 创建和绘制语谱图的…

加州大学欧文分校英语基础语法专项课程02:Questions, Present Progressive and Future Tenses 学习笔记

Questions, Present Progressive and Future Tenses Course Certificate 本文是学习 Questions, Present Progressive and Future Tenses 这门课的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 Questions, Present Progressive and Future TensesWeek 01: …

边缘智能网关为企业数字化转型提供强有力支持-天拓四方

一、企业背景 随着信息技术的飞速发展&#xff0c;企业对于数据处理和通信的需求日益增长。特别是在工业4.0、智能制造等领域&#xff0c;企业面临着海量的数据采集、实时分析、远程监控等挑战。传统的中心化数据处理模式已难以满足这些需求&#xff0c;企业需要寻求一种更加高…

JavaScript - 你知道Ajax的原理吗?如何封装一个Ajax

难度级别:中高级及以上 提问概率:75% 想要实现Ajax,就需要创建它的核心通信对象XMLHttpRequest,通过核心对象的open方法与服务端建立连接,核心对象的send方法可以将请求所需数据发送给服务端,服务端接收到请求并做出响应,我们通过核心对象…

JavaScript(三)-Web APIS

文章目录 DOM事件进阶事件流事件流与两个阶段说明事件捕获事件冒泡阻止冒泡解绑事件 事件委托其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 DOM事件进阶 事件流 什么是事件流 事件流指的是事件完整执行过程中的流动路径 事件流与两个阶段说明 捕获与冒泡 …

windows server 2019-搭建文件共享服务器

一、共享服务器概述 通过网络提供文件共享服务、提供文件下载和上传服务&#xff08;类似FTP服务器&#xff09; 文件共享使用的是CIFS协议&#xff08;微软开发&#xff0c;微软全系服务器都自带此服务&#xff09; FTP服务器对外&#xff08;给客户&#xff09; 文件共享…

04 Python进阶:MySQL-PyMySQL

什么是 PyMySQL&#xff1f; PyMySQL 是一个用于 Python 的纯 Python MySQL 客户端库&#xff0c;提供了与 MySQL 数据库进行交互的功能。PyMySQL 允许 Python 开发人员连接到 MySQL 数据库服务器&#xff0c;并执行诸如查询、插入、更新和删除等数据库操作。 以下是 PyMySQL …

微服务架构下,如何通过弱依赖原则保障系统高可用?

前言 当我初次接触高可用这个概念的时候&#xff0c;对高可用的【少依赖原则】和【弱依赖原则】的边界感模糊&#xff0c;甚至有些“傻傻分不清楚”。这两个原则都关注降低模块之间的依赖关系&#xff0c;但它们之间的确存在某些差异。 那么&#xff0c;「少依赖原则」和「弱…

C#操作MySQL从入门到精通(8)——对查询数据进行高级过滤

前言 我们在查询数据库中数据的时候,有时候需要剔除一些我们不想要的数据,这时候就需要对数据进行过滤,比如学生信息中,我只需要年龄等于18的,同时又要家乡地址是安徽的,类似这种操作专栏第7篇的C#操作MySQL从入门到精通(7)——对查询数据进行简单过滤简单过滤方法就无法…

《CSS 知识点》仅在文本有省略号时添加 tip 信息

html <div ref"btns" class"btns"><div class"btn" >这是一段很短的文本.</div><div class"btn" >这是一段很短的文本.</div><div class"btn" >这是一段很长的文本.有省略号和tip.<…

移动平台相关(安卓)

目录 安卓开发 Unity打包安卓 ​编辑​编辑 BuildSettings PlayerSettings OtherSettings 身份证明 配置 脚本编译 优化 PublishingSettings 调试 ReMote Android Logcat AndroidStudio的调试 Java语法 ​编辑​编辑​编辑 变量 运算符 ​编辑​编辑​编辑​…

后端说处理了跨域但没有生效

场景&#xff1a; 常见的跨域报错&#xff0c;一般都是由后端进行setHeader/*什么的。但是现在这种情况就是后端说他们做了处理。但是我这边请求还是报错。 withCredentials: with-credentials用来设置是否发送cookie&#xff0c;如果为true就会在跨域请求时候携带cookie&…

5个最佳的免费AI图像生成器

原文地址&#xff1a;https://readwrite.com/ai-5-of-the-best-free-ai-image-generators/ Ideogram: Social AI image generator, limited daily prompts, impressive quality.NightCafe: Creative options, custom model training, limited free daily credits.Runway AI: A…

DolphinScheduler 答案整理,最新面试题

DolphinScheduler的架构设计是怎样的&#xff1f; DolphinScheduler的架构设计主要分为四个层次&#xff1a;前端界面层、API服务层、调度层和执行层。 1、前端界面层&#xff1a; 提供任务的定义、流程的设计、监控等功能&#xff0c;用户通过前端界面操作整个系统。 2、AP…

【MySQL数据库 | 第二十三篇】什么是索引覆盖和索引下推

前言&#xff1a; 在数据库查询优化领域&#xff0c;索引一直被视为关键的工具&#xff0c;用于提高查询性能并加速数据检索过程。然而&#xff0c;随着数据库技术的不断发展&#xff0c;出现了一些新的优化技术&#xff0c;其中包括索引下推&#xff08;Index Pushdown&#…

使用Nodejs + express连接数据库mongodb

文章目录 先创建一个js文档安装 MongoDB 驱动程序&#xff1a;引入 MongoDB 模块&#xff1a;设置数据库连接&#xff1a;新建一个表试试执行数据库操作&#xff1a;关闭数据库连接&#xff1a; 前面需要准备的内容可看前面的文章&#xff1a; Express框架搭建项目 node.js 简单…

SketchUp Pro 2024 (草图大师2024)win/mac激活版

SketchUp Pro 2024 (草图大师2024)win/mac激活版(su建模软件,草图大师2024中文版)是一款全球知名的三维建模软件,绘图工具,建模渲染,扩展插件和渲染器模板,海量3D模型及建模灯光材质渲染效果图,用于建筑,城市规划专家,游戏开发等行业。 SketchUp Pro 的主要特点包括&#xff1a…

C++ | Leetcode C++题解之第8题字符串转换整数atoi

题目&#xff1a; 题解&#xff1a; class Automaton {string state "start";unordered_map<string, vector<string>> table {{"start", {"start", "signed", "in_number", "end"}},{"signed…