opencv中的MatConstIterator,NAryMatIterator迭代器的使用

2023-05-16

第一个迭代器 MatConstIterator迭代器
使用迭代器计算一个三通道三维数组中"最长元素"
这个代码实现过程中,照着书中的代码抄下来一直报错 后来在查阅代码的时候 发现了问题所在,具体已经在代码中标明了

#include <opencv2/opencv.hpp>
#include <opencv2/core/mat.hpp>
#include <iostream>

using namespace std;

int main( int argc, char** argv ) {
 int sz[3]={4,4,4};
cv::Mat m(3,sz,CV_32FC3);
cv::randu(m,-1.0f,1.0f);
float max=0.0f;
cv::MatConstIterator_<cv::Vec3f>it=m.begin<cv::Vec3f>();
while(it!=m.end<cv::Vec3f>())
{
    int	len2=(*it)[0]*(*it)[0]+(*it)[1]*(*it)[1]+(*it)[2]*(*it)[2];
	if(len2>max) max=len2;
	it++;
}
	cout<<max<<endl;
	return 0;
}

下面是NAryMatIterator迭代器的使用
按面将一个多维数组相加

#include <opencv2/opencv.hpp>
#include <opencv2/core/mat.hpp>
#include <iostream>

using namespace std;

int main( int argc, char** argv ) {
 int sz[3]={4,4,4};
cv::Mat m(3,sz,CV_32FC3);
cv::randu(m,-1.0f,1.0f);
float max=0.0f;
cv::MatConstIterator_<cv::Vec3f>it=m.begin<cv::Vec3f>();
while(it!=m.end<cv::Vec3f>())
{
    int	len2=(*it)[0]*(*it)[0]+(*it)[1]*(*it)[1]+(*it)[2]*(*it)[2];
	if(len2>max) max=len2;
	it++;
}
	cout<<max<<endl;
	return 0;
}

使用N-ary将两个数组相加

#include <opencv2/opencv.hpp>
#include <opencv2/core/mat.hpp>
#include <iostream>

using namespace std;

int main( int argc, char** argv ) {
 int sz[3]={4,4,4};
cv::Mat m(3,sz,CV_32FC3);
cv::randu(m,-1.0f,1.0f);
float max=0.0f;
cv::MatConstIterator_<cv::Vec3f>it=m.begin<cv::Vec3f>();
while(it!=m.end<cv::Vec3f>())
{
    int	len2=(*it)[0]*(*it)[0]+(*it)[1]*(*it)[1]+(*it)[2]*(*it)[2];
	if(len2>max) max=len2;
	it++;
}
	cout<<max<<endl;
	return 0;
}

两面求和放到第三面的相对应的位置

#include <opencv2/opencv.hpp>
#include <opencv2/core/mat.hpp>
#include <iostream>

using namespace std;

int main( int argc, char** argv ) {
 int sz[3]={4,4,4};
cv::Mat m(3,sz,CV_32FC3);
cv::randu(m,-1.0f,1.0f);
float max=0.0f;
cv::MatConstIterator_<cv::Vec3f>it=m.begin<cv::Vec3f>();
while(it!=m.end<cv::Vec3f>())
{
    int	len2=(*it)[0]*(*it)[0]+(*it)[1]*(*it)[1]+(*it)[2]*(*it)[2];
	if(len2>max) max=len2;
	it++;
}
	cout<<max<<endl;
	return 0;
}

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

opencv中的MatConstIterator,NAryMatIterator迭代器的使用 的相关文章

  • OpenCV Mat 和 Leptonica Pix 之间的转换

    我需要在 C 中在 OpenCV Mat 图像和 Leptonica Pix 图像格式之间进行转换 这用于 8 位灰度图像的二值化 我发现发现了 ikaliga的回答 https stackoverflow com a 25929320 2
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是
  • 是否可以在 PyScript 中使用 OpenCV 模块?

    我想使用 opencv 模块 但无法导入 OpenCV 那么我该如何解决这个问题呢 顺便说一句 Pyodide 支持 OpenCV 示例代码 https i stack imgur com ahwex jpg 尚不支持 OpenCV 此时O
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 如何加速 svm.predict?

    我正在编写一个滑动窗口来提取特征并将其输入到 CvSVM 的预测函数中 然而 我偶然发现 svm predict 函数相对较慢 基本上 窗口以固定的步幅长度在图像比例上滑动穿过图像 遍历图像加上提取每个图像特征的速度 窗口大约需要 1000
  • 找到 4 个特定的角像素并将它们与扭曲透视一起使用

    我正在使用 OpenCV 我想知道如何构建一个简单版本的透视变换程序 我有一张平行四边形的图像 它的每个角都由具有特定颜色的像素组成 该像素在图像中没有其他位置 我想遍历所有像素并找到这 4 个像素 然后我想将它们用作新图像中的角点 以扭曲
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • 未加载库:@rpath/libopenblasp-r0.2.19.dylib

    我应该如何解决这个问题 Monas MacBook Pro 02 02 mona python Python 3 6 1 Anaconda custom x86 64 default May 11 2017 13 04 09 GCC 4 2
  • 相机校准:如何正确进行

    我正在尝试使用棋盘格通过众所周知的张氏方法进行校准 然后进行捆绑调整 该方法在 Matlab 和 OpenCV 中都可用 有很多经验指南 但从我个人的经验来看 准确性是相当随机的 它有时可能非常好 但有时也可能非常糟糕 实际上 只需将棋盘放
  • 如何在python 3.8中安装opencv-python

    我在 pycharm 中安装 opencv python 时遇到问题 打开 pycharm 后 我单击 设置 然后单击 项目解释器 单击 并搜索正确的模块 我开始安装 但失败了 Could not find a version that s
  • Alpha 混合可消除图像中的接缝

    我缝合了两张图像 但在最终图像中存在可见的接缝 我正在尝试使用阿尔法混合去除那条接缝 我知道 Alpha 混合是使用cvAddweight 函数 但在此函数参数是两个图像 alpha beta gamma和目的地 我正在服用gamma 0
  • 在 Tensorflow-lite Android 中将位图转换为 ByteBuffer(浮点)

    在用于图像分类的tensorflow lite android演示代码中 图像首先转换为ByteBuffer格式以获得更好的性能 这种从位图到浮点格式的转换以及随后到字节缓冲区的转换似乎是一个昂贵的操作 循环 按位运算符 float mem
  • 在 virtualenvwrapper 中激活环境

    我安装了virtualenv and virtualenvwrapper用这个命令我创建了一个环境 mkvirtualenv cv 它有效 创建后我就处于新环境中 现在我重新启动了我的电脑 我想activate又是那个环境 但是怎么样 我使
  • OpenCV功能类似于matlab的“查找”

    我正在寻找 openCV 中的一个函数来帮助我制作图像蒙版 例如在 MATLAB 中 B A or B 零 大小 A B A 10 c 有些功能可以让你通过mask向他们提出论据 按照您描述的方式创建面具 我认为您正在追求Cmp 或 Cmp
  • C++ OpenCV imdecode 慢

    我将图像的字节数组从 C 发送到 C 库 我使用 OpenCV 版本 3 3 1 解码图像 BMP 图像解码速度很快 但 JPEG 图像解码速度很慢 如何加快 JPEG 图像的解码时间 多线程 GPU 解码性能 Resolution For
  • 从基本矩阵中查找单应矩阵

    我正在尝试计算单应性矩阵H给定一组对应关系和基本矩阵F 根据对极几何原理 我知道这可以通过对极线和对极线的叉积来完成F from 极点几何 http www cs unc edu marc tutorial node44 html e ij
  • OpenCV SVM 给出奇怪的预测结果

    我对 OpenCV 和支持向量机都很陌生 我想使用 SVM 训练具有两个标签的数据集 然后预测给定集合的标签 我当前的集合包含大约 600 行 具有相等的类分布 1 为 300 行 1 为 300 行 包含 34 列 这是我当前用于设置 O
  • 使用“const cv::Mat &”、“cv::Mat &”、“cv::Mat”或“const cv::Mat”作为函数参数的区别?

    我已经彻底搜索过 但没有找到一个简单的答案 传递 opencv 矩阵 cv Mat 作为函数的参数 我们传递一个智能指针 我们对函数内部的输入矩阵所做的任何更改也会改变函数范围之外的矩阵 我读到 通过将矩阵作为 const 引用传递 它不会
  • 使用 OpenCV 从轮廓获取掩模

    我想从我通过 cv findContours 计算的轮廓 它只存在 1 个轮廓 获取图像掩模 然而 虽然我的轮廓变量不为空 但我无法使用 cv drawContours 检索图像蒙版 我的目标图像始终为空 这是我的代码 img mosaic

随机推荐

  • 五种知网文献免费下载方式

    1 idata中国知网 网址 xff1a idata中国知网 进入系统 xff0c 注册账号 xff0c 登录即可 每天五篇额度 xff0c 基本够用 xff0c 可注册多个账号使用 2 上海研发公共服务平台 网址 xff1a 上海研发公共
  • 【FreeRTOS】二值信号量实现线程的同步

    FreeRTOS 二值信号量实现线程的同步 测试环境如下 stm32L431RCT6 MDK keil5 stm32cube 43 FreeRTOS 一 添加多个任务 1 引脚配置 LED使用的引脚PA8和PB2设置成output 将按键引
  • 暗影精灵2pro安装win10+ubuntu16.10双系统

    暗影精灵2pro预装win10家庭版 xff0c 默认启动win10系统 xff0c 且无法引导其他系统 xff0c 今天我们来解决这个问题 先进入到win10的磁盘管理器服务 xff0c 为ubuntu单独分配磁盘空间 xff0c 让wi
  • 第二十三讲.从HadoopURL中读取数据

    视频 xff1a 美妙人生 Hadoop课程系列之HDFS 手把手教你精通HDFS 美妙人生 Hadoop课程系列之HDFS 手把手教你精通HDFS 视频笔记 从hadoop URL读取数据 static URL setURLStreamH
  • winform窗体

    一 winform介绍 WinForm xff0c 是 Net开发平台中对Windows Form的一种称谓 WinForm是窗体应用程序 xff0c 由若干个窗体应用组成 xff0c 基于C S架构 二 winform的使用 xff08
  • 赋予人工智能记忆的人,带你梳理深度学习核心算法

    新智元翻译 1 来源 xff1a Idsia 作者 xff1a J rgen Schmidhuber 翻译 xff1a 张巨岩 作者介绍 xff1a J rgen Schmidhuber 被称为是赋予人工智能记忆的人 xff0c 递归神经网
  • C++实现贪吃蛇游戏

    注意 xff1a 本代码是在VC 43 43 6 0环境下编译的 xff0c 在其他环境如codeblocks下运行可能会产生意想不到的问题 xff0c 请尽量使用VC xff01 最近由于小编闲着慌 xff0c 捣鼓了一个贪吃蛇游戏 xf
  • Win10正式版19044.2132(KB5020435)来啦!(附完整更新日志)

    微软发布了Win10正式版KB5020435 xff08 操作系统内部版本 19042 2132 19043 2132 和 19044 2132 xff09 xff0c 此次更新主要解决了某些类型的安全套接字层 xff08 SSL xff0
  • SOUI总结之皮肤说明

    皮肤说明 说明 框架自带的皮肤都是 skin sys XXXX开始 xff0c 自带的皮肤存放位置trunk soui sys resource theme sys res xff0c 图片和名称映射关系可以打开trunk soui sys
  • C++中逗号运算符

    今天测试代码的时候 xff0c 遇到一行代码出现了疑问 xff0c 原因是出现了自减运算符和逗号运算符 xff0c 这就涉及到一个顺序的问题 xff0c 于是写了一个C 43 43 小程序 xff0c 验证了一下这个想法 include u
  • PsExec的问题及其解决办法

    C gt PsExec exe 192 168 1 142 cmd PsExec v1 98 Execute processes remotely Copyright C 2001 2010 Mark Russinovich Sysinte
  • ubuntu 18.04安装protobuf

    今天需要安装protobuf 在网上搜了一篇教程 xff0c 但是篇幅太长 xff0c 于是对其进行简化一下 原文 1 96 96 96 git clone https github com protocolbuffers protobuf
  • 读取配置文件的程序

    时常会遇到需要从配置文件中读取一些信息 xff0c 这里就提供一个例子 xff0c 方便日后使用 xff1a span class token comment ini h span span class token macro proper
  • 命令行读取参数

    有时需要从命令读取一些输入 xff0c 这里找到一个方法 xff0c 怎么实现的没有仔细研究 xff0c 但是可用 cmdline h span class token comment Copyright c 2009 Hideyuki T
  • 如何在一个shell脚本中开启多个应用程序?

    之前在csdn上搜索 xff0c 提示用gnome terminal指令 xff0c 但是发现怎么都不好使 于是找到一种解决方案 span class token comment bin bash span span class token
  • 使用openCV播放视频 在视频中加入滑动条

    include 34 opencv2 highgui highgui hpp 34 include 34 opencv2 imgproc imgproc hpp 34 include lt iostream gt include lt fs
  • Linux下vscode无法查看定义?

    今天要用到vscode查到c 43 43 程序 但是发现vscode无法查看程序的定义 于是找了一下解决方法 vscode无法转到定义可能是因为没有安装插件 由于我需要使用C 43 43 所以我这里安装的是C 43 43 插件 第一步 第二
  • 冒泡排序的实现(基于顺序表)

    对于冒泡排序的含义以及图示表示 这里就不再赘述 这篇博客已经说的很明白了 添加链接描述 于是就用代码实现了一下基于顺序表的冒泡排序 因为一直看的时大话数据结构这本书 于是把上面介绍的三种实现方法都在代码中实现一下 具体实现与书中有一些出入
  • ambiguating new declaration of 问题的解决

    今天在运行代码的时候 一直在报这样的错误 ambiguating new declaration of int NewPartition seqlist int int 查看了许久 原来是头文件中的声明类型与函数实现的声明类型不一致造成的
  • opencv中的MatConstIterator,NAryMatIterator迭代器的使用

    第一个迭代器 MatConstIterator迭代器 使用迭代器计算一个三通道三维数组中 34 最长元素 34 这个代码实现过程中 照着书中的代码抄下来一直报错 后来在查阅代码的时候 发现了问题所在 具体已经在代码中标明了 include