c++ vec3b运算

文章目录

  • 1. 两个Vec3b点乘后相加求和:ddot()
  • 2. 两个Vec3b不同却相减为0

1. 两个Vec3b点乘后相加求和:ddot()

Vec3b v1 = img.at<Vec3b>(0, 0);
Vec3b v2 = img.at<Vec3b>(0, 1);
cout << "v1:" << v1 << endl;
cout << "v2:" << v2 << endl;
cout << v1.ddot(v2) << endl;
cout << 245 * 244 + 207 * 202 + 173 * 167 << endl;输出:
v1:[245, 207, 173]
v2:[244, 202, 167]
130485
130485

2. 两个Vec3b不同却相减为0

这是由于两个Vec3b相减,若为负数,则为置为0,如下例所示

Vec3b v1 = img.at<Vec3b>(0, 0);
Vec3b v2 = img.at<Vec3b>(0, 1);
cout << "v1:" << v1 << " v2:" << v2 << endl;
cout << "diff:" << v1 - v2 << endl;
cout << "-diff" << v2 - v1 << endl;输出:
v1:[245, 207, 173] v2:[244, 202, 167]
diff:[1, 5, 6]
-diff[0, 0, 0]

想要得到正确结果,可以将其强制类型转换为Vec3f

Vec3f v1 = img.at<Vec3b>(0, 0);
Vec3f v2 = img.at<Vec3b>(0, 1);
cout << "v1:" << v1 << " v2:" << v2 << endl;
cout << "diff:" << v1 - v2 << endl;
cout << "-diff" << v2 - v1 << endl;输出:
v1:[245, 207, 173] v2:[244, 202, 167]
diff:[1, 5, 6]
-diff[-1, -5, -6]

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

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

相关文章

安卓手机连接电脑实用技巧:实现文件传输与共享

在手机使用过程中&#xff0c;我们常常需要将手机中的文件传输到电脑&#xff0c;或者将手机与电脑进行共享。为了实现这一需求&#xff0c;掌握一些实用的安卓手机连接电脑技巧就显得尤为重要。本文将为您详细介绍2种简单、高效且安全的方法&#xff0c;让您轻松实现安卓手机与…

【Python系列】受保护属性

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Scala 04 —— Scala Puzzle 拓展

Scala 04 —— Scala Puzzle 拓展 文章目录 Scala 04 —— Scala Puzzle 拓展一、占位符二、模式匹配的变量和常量模式三、继承 成员声明的位置结果初始化顺序分析BMember 类BConstructor 类 四、缺省初始值与重载五、Scala的集合操作和集合类型保持一致性第一部分代码解释第二…

SSLHandshakeException: Remote host closed connection during handshake异常处理

请求第三方https接口出现SSLHandshakeException: Remote host closed connection during handshake问题&#xff0c;本地正常&#xff0c;服务器异常。原因是服务器jdk版本是jdk1.8_40 现阶段找到三个方案&#xff0c;第一个是jdk1.8_151版本 添加或者修改Java\jre\lib\securit…

VIO外参标定方法总结

一、前言 VIO外参标定是指相机和IMU之间的转移矩阵的确定&#xff0c;包括33的旋转矩阵和3维平移向量。整体上分为离线标定和在线标定两类方法&#xff0c;这篇文章做一个总结&#xff0c;主要是经典的方法&#xff0c;记录其思想。 二、博文链接 1、离线标定方法 最基本的…

抖音小店想要快速出单,必须做好这两点,这也是做店的两大核心。

大家好&#xff0c;我是电商糖果 很多刚开店的新手商家&#xff0c;都会发现店铺运营并没有网上说的这么简单。 店铺开好之后&#xff0c;是不会自己爆单的。 但是会有很多人说&#xff0c;为什么别人的店铺就可以很快的出单&#xff0c;然后爆单呢&#xff1f; 那些开电商…

安装svn网络有问题怎么办?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

2024最新Nessus 免费安装 附详细安装教程

免责声明 请勿利用文章内的相关技术从事非法测试。由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任&#xff0c;请遵守网络安全法律。本次仅用于测试&#xff0c;请完成测试后24小时之…

Reactjs常用组件

1 react 1.1 useState 让函数组件具有维持状态的能力 const[count, setCount]useState(0); 1.2 useEffect 执行副作用&#xff0c;useEffect 的第二个参数告诉 React 用到了哪些外部变量 类似于Vue watch的作用 useEffect(fn, deps); 1.每次 render 后执行&#xff1a;不…

从零入门区块链和比特币(第二期)

欢迎来到我的区块链与比特币入门指南&#xff01;如果你对区块链和比特币感兴趣&#xff0c;但不知道从何开始&#xff0c;那么你来对地方了。本博客将为你提供一个简明扼要的介绍&#xff0c;帮助你了解这个领域的基础知识&#xff0c;并引导你进一步探索这个激动人心的领域。…

4.25 作业

#1、创建g1组&#xff0c;要求创建一个属于redhat用户g1组的文件redhat.txt [rootlocalhost ~]# groupadd g1 [rootlocalhost ~]# touch /root/redhat.txt [rootlocalhost ~]# ll /root/redhat.txt -rw-r--r--. 1 root root 0 4月 26 20:19 /root/redhat.txt [rootlocalhost ~…

不对称催化(三)- 动态动力学拆分动态动力学不对称转化

一、动力学拆分的基本概念&#xff1a; 动力学拆分的最大理论产率为50%&#xff0c;通过的差异可以将两个对映异构体转化为不同构型的产物&#xff0c;通常情况下使用两个不同反应路径来实现。但是化学家们提供了一个更加实用的方法&#xff0c;通过底物的构型变化实现高于50%的…

3.1设计模式——Chain of Responsibility 责任链模式(行为型)

意图 使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接受者之间的耦合关系&#xff0c;将这些对象练成一条链&#xff0c;并沿着这条链传递请求&#xff0c;直到有一个对象处理它为止。 实现 其中 Handle定义一个处理请求的接口&#xff1a;&#xff08;可选…

【Linux】如何进行用户之间的切换——指令su

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

上网行为管理软件有哪些(5大好用的上网行为监控软件盘点)

企业对于员工工作效率和网络安全的关注度不断提升&#xff0c;上网行为管理软件成为了许多企业的必备工具。这些软件能够实时监控员工的网络活动&#xff0c;帮助企业提高生产力、防止数据泄露&#xff0c;并维护良好的网络环境。 本文将介绍五款大受欢迎的上网行为监控软件&am…

LabVIEW轴承表面缺陷检测系统

LabVIEW轴承表面缺陷检测系统 为了解决轴承生产中人工检测效率低下、误检率高的问题&#xff0c;实现了一套基于LabVIEW的轴承表面缺陷自动检测系统。该系统利用工业相机采集轴承图像&#xff0c;通过图像处理技术对轴承表面的划痕缺陷和倒角缺陷进行自动识别和分析&#xff0…

Pytorch重点概念笔记:都是本人学习中真实遇到的(一)

1.torch.squeeze的原理参数和使用方法 torch.squeeze 是PyTorch中的一个函数,用于减少张量的维数,具体来说,它会移除所有维数为1的维度。这个操作通常用于处理那些在特定操作(如卷积或池化)后可能产生不必要的单维度张量。 原理: 在某些情况下,张量操作会生成形状中包…

CPP语法(六)——函数模板

CPP语法 六—函数模板 一、 模板1.1 函数模板1.2 重载函数模板1.3 类模板1.3.1 简单类模板1.3.2 默认模板参数1.3.3 为具体类型的参数提供默认值1.3.4 有界数组模板 1.4 模板的使用1.4.1 定制模板类1.4.2 定制类模板成员函数 一、 模板 模板是c的高级特性&#xff0c;分为函数…

【详细实现】v1.0 随机点名应用

1.引言 前面对这个应用的功能做了详细的分析&#xff08;长什么样、能干什么&#xff09;&#xff0c;以先这样对一个项目最开始的分析成为需求分析&#xff0c;需求分析之后就是设计阶段。 那么一般的项目&#xff0c;在设计阶段都需要干什么呢&#xff1f;在需求分析阶段确定…

Spring Cloud Eureka面试题

Spring Cloud Eureka面试题 1. Eureka基础概念1.1 什么是Eureka&#xff1f;1.2 Eureka的组件和架构有哪些元素组成&#xff1f;1.3 Eureka Server和Eureka Client有什么区别&#xff1f;1.4 如何描述Eureka的自我保护机制&#xff1f; 2. 服务注册与发现2.1 如何将服务注册到E…