下面的代码返回MouseClick上的x,y
坐标值。 我想把x坐标存储在一个数组A[10]
中,把y坐标存储在另一个数组B[10]
中。
为此,我尝试使用For循环,但x,y
坐标不显示在数组中。
如何将这些坐标存储在数组中?
我想在一个图像上点击鼠标10次,我想将所有10个坐标存储在数组中,在我的代码中,当我点击鼠标一次时,这个x,y坐标存储在数组中10次。
#include <iostream>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
using namespace cv;
using namespace std;
int i;int x;int y;
int a[10];int b[10];
void CallBackFunc(int event, int x, int y, int flags, void* userdata);
int main(int argc, char** argv)
{
// Read image from file
Mat img = imread("G:/qt-program/CA2.jpg");
//Create a window
namedWindow("My Window", 1);
//set the callback function for any mouse event
setMouseCallback("My Window", CallBackFunc, NULL);
//show the image
imshow("My Window", img);
// Wait until user press some key
waitKey(0);
return 0;
}
void CallBackFunc(int event, int x, int y, int flags, void* userdata)
{
if ( event == EVENT_LBUTTONDOWN )
{
cout << "Left button of the mouse is clicked - position (" << x << ", " << y << ")" << endl;
for ( i = 0; i < 10; ++i){
a[i]=x;
b[i]=y;
}
for ( i = 0; i < 10; ++i){
cout << a[i] << endl;
cout << b[i] << endl;
}
}
}
您将当前的x和y存储到数组中的所有单元格中,但您需要存储到下一个单元格中。 您可以为数组中下一个单元格的索引创建全局var,即执行如下操作(伪代码)
int nextInd = 0;
...
CallBack(event, x, y, ...) {
if (...) {
a[nextInd] = x;
b[nextInd++] = y;
}
}
编辑:最后一个问题,如何通过值而不是引用来存储它?
问题内容: 在我的应用程序中,我正在解析一个xml文件。在xml文件中,我有50个同名标签,现在我想将所有作为问题命名的标签存储为数组…。 在保存的那些标签中,我只希望在文本视图中放置一个问题标签…。 如何执行此操作.... pls帮助我..... 问题答案:
问题内容: 需要将foreach循环中的值存储到数组中,需要帮助。 下面的代码不起作用,仅存储上次尝试的值,但这也不起作用,将不胜感激。 问题答案: 在循环外声明数组,并用于向数组添加项目:
问题内容: 我有两个不同的数组,一个带有字符串,另一个带有整数。我想将它们连接成一个数组,其中每一列都具有原始数据类型。我当前执行此操作的解决方案(请参见下文)将整个数组转换为dtype = string,这似乎在内存方面效率很低。 何时和何时可能使dtypes多元化? 问题答案: 一种方法可能是使用记录数组。“列”与标准numpy数组的列不同,但是对于大多数用例来说,这就足够了: 请注意,您还可
我对列有网格。在第二列中,我必须组合框(例如在第一行和第三行)。如何为它们设置不同的存储空间?第二个组合框的值取决于第一个组合框 这是一张图片 我看到一个例子,但是有不同的列,而不是行
问题内容: 在Swift编程语言中,它说“一个数组在一个有序列表中存储相同类型的多个值”。但是我发现您可以在数组中存储多种类型的值。描述不正确吗? 例如 问题答案: 来自REPL 您可以看到的是,这是或 发生的事情是提供了将数字和布尔值转换为的能力。需要编译代码时,编译器将执行转换。 因此,它们现在具有的通用类型,因此可以推断为 没有,您的代码将无法在REPL中编译。 但是你可以做到 因为它们具有
问题内容: 如何将坐标数组作为数据类型写入Cloud Firestore ? 我确实有一个with坐标,我需要将这些坐标写入Firestore: 我试着和都导致错误和。 问题答案: 将FieldValue.arrayUnion作为第二个参数传递给update()方法时,如以下代码行所示: 这意味着,你告诉火力地堡要更新文档是类型中的属性有,这实际上是不可能的,因此这样的错误: 如果您的文档包含嵌套
我试图获得保存在firebase实时数据库中的坐标,并使用google maps API在地图上显示它们。这是我目前掌握的代码。现在,它打开并使用html5 geolocation API向用户显示当前位置,并使用Geofire将lat和long坐标同步到firebase实时数据库。 我不知道如何检索这些点,并在谷歌地图上同时显示不同用户的位置。如果有人能在这方面帮助我,我将非常感激。