3.java openCV4.x 入门-Mat之构造函数与数据类型

专栏简介

💒个人主页
📰专栏目录

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

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


🧭文章导航🧭
⬆️ 2.hello openCV
⬇️ 4.待更新

Mat之构造函数与数据类型

  • 1.Mat类作用
  • 2.初始化Mat对象
    • 1.通过构造函数
    • 2.通过方法
  • 3.CVType(数据类型)
    • 1.CVType方法
  • 4.Size

  

1.Mat类作用

   📢Mat类的主要作用是存储和操作图像或矩阵数据。它可以表示灰度图像、彩色图像、多通道图像以及其他类型的矩阵数据。Mat类提供了一系列方法和操作符,用于访问、修改和处理图像或矩阵数据。

2.初始化Mat对象

   可以通过两种方式初始化Mat对象,一种是通过构造函数,一张是通过方法

1.通过构造函数

示例

public class MatExample {public static void main(String[] args) {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);Mat mat2 = new Mat(3,3, CvType.CV_8UC1,new Scalar(2));Mat mat3 = new Mat(new Size(3,3),CvType.CV_8UC1,new Scalar(255,255,255,10));System.out.println("mat2= " + mat2);System.out.println("mat3 = " + mat3);}
}

2.通过方法

示例

public class MatExample2 {public static void main(String[] args) {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);Mat eye = Mat.eye(new Size(3, 3), CvType.CV_8UC1);Mat zeros = Mat.zeros(3, 3, CvType.CV_8UC1);Mat ones = Mat.ones(new Size(3, 3), CvType.CV_8UC1);System.out.println("eye.dump() = " + eye.dump());System.out.println("zeros.dump() = " + zeros.dump());System.out.println("ones.dump() = " + ones.dump());}
}

3.CVType(数据类型)

一个常量类,用于指定矩阵的数据类型和通道数。它提供了多种预定义的数据类型
打开CvType类可以发现type类型有CV_8UC1,CV_16SC3 ,CV_32FC4等类型,其中8,16,32表示位,U表示无符号整数,S表示有符号整数,F表示浮点数,C表示通道,C1表示一个通道的图像,C3表示3个通道的图像。
如果需要更多的通道,可以采用CV_8UC(ch)的方式,例如
CV_8UC(2)表示8位无符号整数2通道的图像
其它:
既然将到这里了,就说下四通道,通过源码可以发现存在4通道,在这里第四通道代表的透明度

1.CVType方法


import org.opencv.core.CvType;/*** @author lvyq* @version 1.0* Create by 2023-12-28 23:28*/
public class Core_CvTypeExample {static {String libraryPath = System.getProperty("user.dir") + "\\lib\\opencv_java460.dll";System.load(libraryPath);}public static void main(String[] args) {System.out.println("数据类型对应的通道数 = " + CvType.channels(CvType.CV_8UC1));System.out.println("单通道的 16 位浮点数数据类型 = " + CvType.CV_16FC(1));System.out.println("数据类型 = " + CvType.depth(CvType.CV_8UC1));System.out.println("CV_8UC1元素大小 = " + CvType.ELEM_SIZE(CvType.CV_8UC1));System.out.println("CV_32FC1数据类型是否为整数类型= " + CvType.isInteger(CvType.CV_32FC1));System.out.println("CV_8UC1对应字符串= " + CvType.typeToString(CvType.CV_8UC1));//创建16位单通道浮点数数据类型System.out.println("makeType= " + CvType.makeType(CvType.CV_16F, 1));}
}

4.Size

   Size类用于表示图像的尺寸大小。它是一个具有宽度和高度属性的类,可以用来描述图像、矩形区域或其他需要尺寸信息的对象。
Size类的主要作用包括:
   描述图像的尺寸:可以使用Size类的对象来表示图像的宽度和高度。这对于图像处理和分析任务非常重要,例如调整图像大小、裁剪图像、计算图像的比例等。
   计算矩形区域的尺寸:Size类可以用来计算矩形区域的宽度和高度。这对于目标检测、物体跟踪和图像分割等任务非常有用。
   作为函数的返回值类型:在OpenCV的许多函数中,Size类常被用作返回值类型,用于表示函数操作后得到的图像或区域的尺寸。

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

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

相关文章

linux正则表达式之*

1.*含义 linux正则表达式*表示重复0个或多个前一个重复字符 2.样例 正则表达式*样例 命令: grep -n "min*" anaconda-ks.cfg #找出含有mi、min、minn等字符串的行。注:因为*可以是0个,所以mi也是符合搜索字符串,另…

linux centos7.9 weblogic14c java1.8.401 安装部署流程

一、获取安装包: Java1.8.401:Java Downloads | Oracle weblogic 14c:https://download.oracle.com/otn/nt/middleware/14c/14110/fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip 选generic版本 二、将安装包传到Linux服务器上 方法不限&#xf…

物理寻址和功能寻址,服务器不同的应答策略和NRC回复策略

1:功能寻址,服务器应答与NRC回复策略 详细策略上,又分为服务有子功能,和不存在子功能。 1.1功能寻址,存在子功能 存在子功能的情况下,又分为supress postive response (即子功能字节的bit7&a…

Servlet基础 管理员注册页面

管理员注册页面 index.jsp <% page language"java" import"java.util.*" pageEncoding"UTF-8"%> <% String path request.getContextPath(); String basePath request.getScheme()"://"request.getServerName()":&quo…

互联网摸鱼日报(2024-03-29)

互联网摸鱼日报(2024-03-29) 36氪新闻 获LG战略投资6000万美元&#xff0c;「Bear Robotics」搭建机器人实时反馈平台&#xff5c;硬氪首发 亏损收窄55.7%&#xff0c;Keep仍需挖金 业绩快报&#xff5c;广汽集团2023全年汇总营收约5023亿元&#xff0c;全年派息15.7亿元 海…

搜索与图论——bellman—ford算法、spfa算法求最短路

bellman-ford算法 时间复杂度O(nm) 在一般情况下&#xff0c;spfa算法都优于bf算法&#xff0c;但遇到最短路的边数有限制的题时&#xff0c;只能用bf算法 bf算法和dijkstra很像 #include<iostream> #include<queue> #include<cstring> #include<algori…

新数字时代的启示:揭开Web3的秘密之路

在当今数字时代&#xff0c;随着区块链技术的不断发展&#xff0c;Web3作为下一代互联网的概念正逐渐引起人们的关注和探索。本文将深入探讨新数字时代的启示&#xff0c;揭开Web3的神秘之路&#xff0c;并探讨其在未来的发展前景。 1. Web3的定义与特点 Web3是对互联网未来发…

安装docker 并搭建出一颗爱心树

1、docker介绍 Docker 是⼀个开源的容器运⾏时软件&#xff08;容器运⾏时是负责运⾏容器的软件&#xff09;&#xff0c;基于 Go 语 ⾔编写&#xff0c;并遵从 Apache2.0 协议开源。 Docker可以让开发者打包⾃⼰的应⽤以及依赖到⼀个轻量的容器中&#xff0c;然后发布到任何…

在 Linux/Ubuntu/Debian中创建、复制和删除文件和目录

要在 Linux 中创建、复制和删除文件和目录&#xff0c;可以使用各种命令。 以下是一些常用的&#xff1a; 1、创建目录&#xff1a; mkdir 目录名创建目录层次结构&#xff1a; mkdir -p 目录路径/子目录创建文件&#xff1a; touch 文件名4.复制文件&#xff1a; cp 源文件…

如何通过针对iOS的动态分析技术绕过反调试机制

在这篇文章中&#xff0c;我们将跟大家介绍和分析一种针对iOS的新型安全研究技术&#xff0c;该技术能够让iOS应用程序的调试过程更加轻松&#xff0c;并解决那些可能会延缓我们步伐的阻碍。 如果你要对一个采用了反调试技术的iOS应用程序或二进制文件进行调试的话&#xff0c;…

民航电子数据库:CAEMigrator迁移数据库时总是卡死

目录 一、场景二、异常情况三、排查四、应急方案 一、场景 1、对接民航电子数据库 2、将mysql数据库迁移到cae数据库 3、使用CAEMigrator迁移工具进行数据库迁移时&#xff0c;该工具会卡死&#xff08;不清楚是否是部署cae服务的服务器资源导致&#xff09; 二、异常情况 …

数据结构与集合(三)

在计算机科学领域&#xff0c;哈希表是非常重要的数据结构&#xff0c;它们在数据组织和存储中扮演着重要角色。本文将介绍哈希表的的基本概念、特点以及实际应用&#xff0c;帮助读者更好地理解这种数据结构在算法设计和编程中的重要性。让我们一起深入探讨哈希表&#xff0c;…

Java的KruskaI知识点(含面试大厂题和源码)

Kruskal算法是用于在加权无向图中找到最小生成树的一种算法。与Prim算法不同&#xff0c;Kruskal算法是一种基于边的贪心算法&#xff0c;它在构建最小生成树的过程中逐步添加边。以下是Kruskal算法的一些关键知识点&#xff1a; 1. 算法概述 Kruskal算法从考虑所有边的集合开…

【python plotly库介绍】从视觉到洞见:桑基图在业务分析中的应用【保姆级教程过于详细珍藏版】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 本文结构&#xff1a;工具介绍python实现库 - 案例 - 分析思路与过程 实战专栏&#xff1a;https://blog.csdn.net/cciehl/category_12615648.html 备注说明&#xff1a; 企业…

2024软件设计师备考讲义——(7)

数据库技术 一、数据库基础 1.数据库系统 DB、DBS、DBA、DBMS 2.三级模式两级映像 内模式 物理存储 概念模式 基本表 外模式 用户使用应用程序&#xff0c;视图级别 外模式-概念模式的映像 表和视图之间的映射若表中数据变化&#xff0c;只要修改映射&#xff0c;不用改程序…

vue使用el-upload上传,上传错误文件,名称还会显示

vue使用el-upload上传&#xff0c;上传错误文件&#xff0c;名称还会显示 背景&#xff1a;上传不符合后缀的文件&#xff0c;但是还是在页面中显示&#xff0c;使用的是http-request方法 代码&#xff1a; <el-upload multiple class"avatar-uploader" action…

【八股03.29】

【八股03.29】 1.内存泄漏&#xff1f;野指针&#xff1f;悬挂指针&#xff1f; 什么是内存泄漏&#xff1f; 内存泄漏是指程序运行过程中申请的动态分配的堆内存没有被释放&#xff0c;造成系统内存浪费&#xff0c;运行速度减慢甚至崩溃等严重后果。 如何避免&#xff1f;…

DARTS-PT: RETHINKING ARCHITECTURE SELECTION IN DIFFERENTIABLE NAS

Rethinking Architecture Selection in Differentiable NAS 论文链接&#xff1a;https://arxiv.org/abs/2108.04392v1 项目链接&#xff1a;https://github.com/ruocwang/darts-pt ABSTRACT 可微架构搜索(Differentiable Neural Architecture Search, NAS)是目前最流行的网…

光耦合器电路基本概述

在当今快速发展的技术环境中&#xff0c;光耦合器电路在确保电信号跨隔离电路的无缝传输方面发挥着关键作用。这些半导体器件通常被称为光电隔离器&#xff0c;具有许多优点&#xff0c;包括电路隔离、信号传输和精确的电路控制。然而&#xff0c;如果不全面了解市场上各种光耦…

Python批量提取pdf首页并合并为一个文件

前情提要&#xff1a;python安装pypdf2包 pip install pypdf2 第一种&#xff1a;既需要每一个单独的首页&#xff0c;也需要将首页合并。 整体操作思路&#xff0c;将文件夹下面原本的每一个pdf获取第一页&#xff0c;然后再写出&#xff0c;将其放在FirstPage文件夹下。再…