C++Opencv图像对象Mat的创建和赋值

2023-11-10

Mat中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数),因此在学习图像创建之前先了解一下基本的数据类型。
在这里插入图片描述
S = 有符号整型 U = 无符号整型 F = 浮点型
CV_8U - 8位无符号整数
CV_8S - 8位有符号整数
CV_16U - 16位无符号整数
C1,C2,C3,C4则表示通道是1,2,3,4

#include <iostream>
#include<opencv2\opencv.hpp>

using namespace std;
using namespace cv;

void test301()
{
    Mat src = imread("D:/IMG_4325.JPG");

    Mat dst1, dst2;
    dst1 = src.clone();   //克隆
    src.copyTo(dst2);   //拷贝

    //创建空白图像
    Mat m3 = Mat::zeros(Size(8,8), CV_8UC3); //CV_8UC3  8位无符号3通道
    //ones用于多通道时,只有一个通道为1,其余都为0

    //m3 = 127   将第一通道赋值为127
    m3 = Scalar(127, 127, 127);   //将3个通道的值都赋值为127

    std::cout << "width:" << m3.cols << " Height:" << m3.rows 
        << " Channels:" << m3.channels() << endl;
    
    cout << m3 << endl;


    //主要用于卷积核定义
    Mat m4 = (Mat_ <char>(3, 3) << 0, -1, 0, -1, 5, -1, 0, 1, 0);

    Mat M(7, 7, CV_32FC2, Scalar(1, 3));
    //上面的代码表示:创建一个2通道,且每个通道的值都为(1,3),深度为32,7行7列的图像矩阵。CV_32F表示每个元素的值的类型为32位浮点数,C2表示通道数为2,
    // Scalar(1,3)表示对矩阵每个元素都赋值为(1,3),第一个通道中的值都是1,第二个通道中的值都是3.
}

int main()
{
    test301();
    std::cout << "Hello World!\n";
}

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++Opencv图像对象Mat的创建和赋值 的相关文章

  • 如何使用带有进度条的 HttpClient 下载文件?

    我创建了一个名为SiteDownload并添加了一些下载图像的链接 using System Collections Generic using System Linq using System Net using System Threa
  • 有没有办法将所有内容都包含在 dbcontext 中?

    当查询一个DbContext急切加载时 需要Include Navigation 为了填充导航属性 然而 在某些情况下 我想简单地Include all实体的导航属性 有没有办法做到这一点 或者有办法做到这一点 我假设你可以反思 但我宁愿避
  • C++ 标准是否允许未初始化的 bool 导致程序崩溃?

    我知道一个 未定义的行为 C 几乎可以让编译器做任何它想做的事情 然而 我遇到了一次令我惊讶的崩溃 因为我认为代码足够安全 在这种情况下 真正的问题仅发生在使用特定编译器的特定平台上 并且仅在启用优化的情况下发生 我尝试了几种方法来重现问题
  • 找不到 HttpContextBase 命名空间

    public string GetCartId HttpContextBase context if context Session CartSessionKey null if string IsNullOrWhiteSpace cont
  • stl 集的 C# 等效项是什么?

    我想使用 C 将一些值存储在平衡二叉搜索树中 我查看了泛型命名空间中的集合 但没有找到与 stl 集合等效的集合 我可以使用什么通用集合 我不想存储键 值对 只是值 你可以使用HashSet http msdn microsoft com
  • 运行 C# exe 文件

    复制 为什么我的 NET 应用程序在从网络驱动器运行时会崩溃 https stackoverflow com questions 148879 why does my net application crash when run from
  • 如何通过C#在SQLite数据库中写入变量DateTime值?

    我很新C and SQLite数据库并有一些变量存储在 SQLite 数据库中TimeStamp 这是我的代码 DateTime now DateTime Now m dbConnection new SQLiteConnection Da
  • 析构函数、dispose 和 Finalize 方法之间的区别

    我正在研究垃圾收集器在 C 中的工作原理 我对使用感到困惑Destructor Dispose and Finalize方法 根据我的研究和理解 在我的类中拥有析构函数方法将告诉垃圾收集器以析构函数方法中提到的方式执行垃圾收集 该方法不能在
  • 泛型类上的 DebuggerDisplay

    我在应用时遇到问题DebuggerDisplay泛型类的属性 DebuggerDisplay foo class Foo DebuggerDisplay Bar t class Bar
  • 模板“内联”函数的静态局部变量[重复]

    这个问题在这里已经有答案了 static的局部变量inline如果我的理解是正确的 C 中的函数保证像单个全局变量一样存在 如果inline函数是一个模板 编译器可以在哪里生成该函数的多个版本 下面这篇文章应该很好地回答你的问题 http
  • C++ fill() 与 uninitialized_fill()

    您好 我是初学者 我想知道容器的 fill 和 uninitialized fill 之间的区别 我在谷歌上进行了快速搜索 但没有得到很好的答案 有人可以帮助我吗 fill 将值 使用赋值运算符 分配给已构造的对象 uninitialize
  • C语言中的array、&array、&array[0]有什么区别? [复制]

    这个问题在这里已经有答案了 在学习C语言中的数组和指针时 我很困惑 为什么ch ch ch 0 彼此相等 而sptr sptr sptr 0 却不相等 这是我的源代码 int main void char ch 7 1 2 3 4 5 6
  • C++头文件问题

    我在处理类时尝试了一些 C 代码 这个问题出现在我身上 并且让我有点烦恼 我创建了一个包含类定义的头文件和一个包含实现的 cpp 文件 如果我在不同的 cpp 文件中使用此类 为什么要包含头文件而不是包含类实现的 cpp 文件 如果我包含类
  • 从 TFS 下载工作项附件(文件已损坏)

    我正在尝试创建 C 代码 因此我可以自动从 Team Foundation Server 下载 BUGS 预定义查询的所有附件 该代码似乎工作得很好 但所有下载的文件都因意外原因而损坏 我无法查看它们 有人可以看一下代码并分享意见吗 非常感
  • 为什么 C++ 元组如此奇怪?

    我通常创建自定义structs将不同类型的值分组在一起时 这通常很好 而且我个人发现命名成员访问更容易阅读 但我想创建一个更通用的 API 在其他语言中广泛使用元组后 我想返回类型的值std tuple但发现它们在 C 中使用比在其他语言中
  • 使用可变参数模板函数计算多个值的平均值

    我正在尝试编写一个函数来确定任意数量参数的平均值 所有参数都具有相同的类型 出于学习目的 我尝试使用可变参数模板函数来做到这一点 这是我到目前为止所拥有的 template
  • 在 C++17 中编译具有非固定基础类型的 constexpr 从 int 静态转换为作用域枚举的未定义行为

    我想知道以下内容是否应该在 C 17 中编译 enum class E A B constexpr E x static cast
  • 恐怖分子已弃用

    正在接听另一个问题 https stackoverflow com q 11830514 1468366 我偶然发现了man page http linux die net man 3 herror一个名为的函数herror 看起来很像pe
  • 返回右值 - 这段代码有什么问题? [复制]

    这个问题在这里已经有答案了 我遇到了以下代码片段 std string test std string m Hello return std move m int main std string m test 我知道上面的代码是不正确且不安
  • 使用 Powershell 或 C# 获取 Azure“文件和文件夹”作业状态

    我一直在尝试找到一种方法来获取在 AzureRM 中运行的几个客户上运行的 文件和文件夹 备份作业的状态 可以在 AzureRm 门户中手动找到状态 恢复服务保管库 gt 作业 gt 备份作业 使用powershell不显示任何作业信息 G

随机推荐

  • Redis第七讲 Redis存储模型详解

    Redis存储模型 每次在Redis数据库中创建一个键值对时 至少会创建两个对象 一个是键对象 一个是值对象 而Redis中的每个对象都是由 redisObject 结构来表示 redisObject的结构与对象类型 内存编码 内存回收 共
  • SDA、SFDA、CFDA改名为NMPA

    再见CFDA 国家药监局英文简称改为NMPA 通知公告 1 新成立的国家药品监督管理局 是否还监管食品 答 国家药品监督管理局作为新组建的政府部门 隶属于新成立的国家市场监督管理总局 相比较原来的国家食品药品监督管理总局 国家药品监督管理局
  • JavaScript与生俱来的特性---异步与回调

    线程是建立在进程的基础上的一次程序运行单位 一个进程中可以有多个线程 js单线程就意味着 所有任务需要排队 前一个任务结束 才会执行后一个任务 如果前一个任务耗时很长 后一个任务就不得不一直等着 如果是因为计算量大 CPU忙不过来 倒也合乎
  • 使用VLC开源库开发播放器

    使用VLC开发播放器 分为如下几步 1 下载VLC开源库 下载VLC开源库 可在官网上下载 地址如下 http download videolan org pub videolan vlc 可以在该网站下载想要的版本 32位或64位 Rel
  • npm&yarn使用

    一 npm与yarn介绍 NPM Node Package Manager 作为Node js的依赖包管理器便应运而生 而YARN则是针对NPM的一些不太优秀的地方设计开发的 NPM无需单独安装 安装完Node js即自带NPM 若想安装y
  • MFC(VS2010)编程实例之一(Edit Control控件)

    Edit Control是在MFC对话框中最频繁的使用的控件之一 获取Edit Control的值与赋值是常见的操作 Edit Control对应的MFC类为CEdit类 而CEdit是继承自CWnd类的 所以也继承了来自CWnd类的Get
  • elasticsearch中index.highlight.max_analyzed_offset设置

    elasticsearch中设置index highlight max analyzed offset Caused by java lang IllegalArgumentException The length of message f
  • Dynamics CRM2016详细安装教程-3(Dynamics CRM安装)

    1 以具有管理员级别特权的用户身份登录到将安装 Microsoft Dynamics CRM Server 2016 的域 并且该用户是本地计算机上 Administrators 组的成员 不能以受信任域中成员的身份安装此应用程序 2 双击
  • mysql数据库死锁的产生原因及解决办法

    这篇文章主要介绍了mysql数据库锁的产生原因及解决办法 需要的朋友可以参考下 数据库和操作系统一样 是一个多用户使用的共享资源 当多个用户并发地存取数据 时 在数据库中就会产生多个事务同时存取同一数据的情况 若对并发操作不加控制就可能会读
  • Python+Tensorflow学习(二)——初试keras

    Python Tensorflow学习 二 初试keras 学习视频链接 强推 TensorFlow官方入门实操课程 源码如下 coding utf 8 Time 2021 8 9 10 27 Author 西兰花 File tf01 py
  • 大数据中Linux命令使用的相关操作

    一 常见Linux命令使用 1 cd命令 切换目录 切换到目录 usr local 2 去到目前的上层目录 3 回到自己的主文件夹 ls命令 查看文件与目录 4 查看目录 usr下所有的文件 mkdir命令 新建新目录 5 进入 tmp目录
  • 模块和库的区别

    在编程领域 模块 module 和 库 library 是两个相关但不完全相同的概念 模块 Module 模块是一种组织和封装代码的方式 它是一个包含函数 类 变量等定义的文件 一个模块可以看作是一个独立的单元 它将相关的代码组织在一起 方
  • Xshell连接kali&不成功解决方法

    本文为学习笔记 仅限学习交流 不得利用 从事危害国家或人民安全 荣誉和利益等活动 请参阅 中华人民共和国网络安全法 第一部分 连接 Xshell 官网下载地址 http www netsarang com zh xshell 一 开启Xsh
  • python基础编程小实例2——绝对温标

    编程语言 python3 9 题目 绝对温标的单位为开尔文 简称开 符号为K 绝对温标的零度对应我们日常使用的摄氏温度 单位为摄氏度 简称度 符号为 的 273 15 要求编写代码 实现将用户输入的摄氏温度转换为移绝对温标标识的开氏温度的功
  • Java中String与String的相等判断要用equals

    如题 正确语句 i字符串1 equals 字符串2 错误语句 字符串1 字符串2 在Java中用 比对两个字符串比对的是两个数据的地址值 用equals 比较的才是他们的内容值
  • Python 100 天从新手到大师

    早上好 骚年 我是小菜 我的公众号 菜鸟翻身 会推荐 GitHub 上有用的项目 一分钟 get 一个优秀的开源项目 挖掘开源的价值 我的引语 今天推荐是一个 Python 基础教程 按照教程学习 不出意外 100 天从新手到大师 当下 P
  • disable path和false path的作用与区别

    disable path和false path的作用与区别C 欢迎使用Markdown编辑器 链接 disable与false的相同与不同 false path 指定某一条path 工具计算delay 但不报时序 disable path
  • Java环境变量的配置

    最近有朋友问到环境变量的配置 下面以Windows10系统为例进行Java环境变量配置说明 1 右键点击 此电脑 选择 属性 项 2 点击 高级系统设置 在弹出的系统属性框中 选择 高级 选项卡 默认即显示该选项卡 点击 环境变量 3 在弹
  • 回答问题:你认为AGI应该采用什么思路?

    我是研究AGI基础理论的 我认为AGI要突破首先要对智能的原理有突破 需要建立一套体系描述和解释智能 我认为目前的数学体系有很大的不足 限制了人类对智能的理解 所以需要改革 重新理解一些基础的东西 例如 空间的本质 计算的本质 我认为AGI
  • C++Opencv图像对象Mat的创建和赋值

    Mat中元素的类型以及矩阵的通道个数 它是一系列的预定义的常量 其命名规则为CV 位数 数据类型 通道数 因此在学习图像创建之前先了解一下基本的数据类型 S 有符号整型 U 无符号整型 F 浮点型 CV 8U 8位无符号整数 CV 8S 8