matlab数组中如何找某个值的坐标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab数组中如何找某个值的坐标相关的知识,希望对你有一定的参考价值。

参考技术A 1、实现方法
使用find()函数:[m,n]=find(A==x)
2、解析
A==x:将矩阵A的每个元素与x比较,如果相等,相应位置的元素就等于1,否则为0。
find(X):返回X中非零元素的索引(即行列位置)。
3、实例演示:找出矩阵A中所有等于3的元素的行列位置
打开matlab,在命令窗口运行如下代码:
>>
A=[1
2
3
4
5;6
7
3
1
2]
>>
[m,n]=find(A==3)
从运行结果可知,找到A中元素3的位置为:第1行第3列

第2行第3列。

如何在opencv中使用matlab c++库绘制点

【中文标题】如何在opencv中使用matlab c++库绘制点【英文标题】:How to plot points using matlab c++ library in opencv 【发布时间】:2012-09-30 22:17:41 【问题描述】:

我正在使用opencv的matlab库来使用matlab图像并对其执行HoughCircles算法。

我想动态创建 matlab 图像而不是 imread-ing 它们。

使用该图像,我想绘制一个我收集的 x,y 坐标数组。

我可以通过说“声明”图像

Mat img

但这就是我所得到的。我找不到将点绘制到其中的函数。

如果有人有任何见解,我将不胜感激!

【问题讨论】:

对了,opencv中的ml模块不代表matlab,而是代表机器学习 感谢您的更正。我想我应该少做一些假设-_- 【参考方案1】:

检查cv::Mat docs 并查看它提供的几个构造函数:

要从二维数组初始化 cv::Mat,您可以这样做:

float data[2][2] =  1,3,5,7,9, 2,4,6,8,10 ; 
cv::Mat img = cv::Mat(2, 5, CV_32FC1, &data);

或者,如果您需要单独访问像素:

Accessing all pixels in cv::Mat(1 个频道) Cycle through pixels with opencv(3 个频道) OpenCV get pixel information from Mat image(3 个频道) Get data from Mat / cv::Mat in OpenCV(3 个频道) Find pixel color out of cv::Mat on specific position(1 和 3 频道)(这个网站与 *** 非常相似,不是吗?)

您可能也有兴趣阅读:

What's the shortest way to plot points with opencv and c++?

【讨论】:

我想我的脑袋会因为试图在一天内学习所有这些而爆炸。但只是为了澄清:这一行: cv::Mat img = cv::Mat(2, 5, CV_32FC1, &data);表示单个 32f 值的 2x5 图像,加载有上述数据。我试图了解该数据数组如何适合该图像。 data 中的值在图像矩阵中的什么位置? 图像的存储在data字段(这是一个指针)中,可以通过img.data访问 我想说明我的问题。我有一个 std::vector<:point2f> 坐标。我还有一个 Mat img = cv::Mat::zeros(1280,720, CV_8UC1);我试图弄清楚如何轻松地将向量中的坐标初始化为 img 中的 1。我的第一个想法是迭代并执行 .at() =,但我认为有一种更简单的方法 这可能是最有效的方法。如果有其他解决方案,它们将涉及调用 CV 方法,这些方法将执行您手动执行的操作,而且它们将有向堆栈添加函数调用的开销。 太棒了。感谢您的帮助,非常感谢!

以上是关于matlab数组中如何找某个值的坐标的主要内容,如果未能解决你的问题,请参考以下文章

matlab数组中如何找某个值的坐标

在matlab中,怎么把图片中的图像轮廓坐标找出来?

获取高于某个值的二维数组中的局部最大值坐标

如何将matlab中的坐标系进行旋转

matlab三维图怎么找到z坐标某值对应的x和y值

在MATLAB中知道多个点的位置坐标,怎样求各个点之间的距离?