0
我已經建立了ArUco庫,現在想寫一個小的代碼來測試它是否工作正常。代碼如下:
#include<opencv2/opencv.hpp>
#include<iostream>
#include<aruco.h>
#include<cvdrawingutils.h>
using namespace cv;
using namespace std;
using namespace aruco;
int main()
{
Mat image;
//Read image and display it
image = imread("E:/../Capture.PNG", 1);
if (image.empty()) //check whether the image is loaded or not
{
cout << "Error : Image cannot be loaded..!!" << endl;
//system("pause"); //wait for a key press
return -1;
}
namedWindow("Image", CV_WINDOW_AUTOSIZE);
imshow("Image", image);
waitKey(1000);
//Marker detection
MarkerDetector MDetector;
vector<Marker> Markers;
//I am not sure if we need to read the pattern of the marker. So I read it.
Markers = imread("E:/.../pattern.PNG", 1);
MDetector.detect(image, Markers);
//draw infor and its boundaries
for (int i = 0; i < Markers.size(); i++)
{
Markers[i].draw(image, Scalar(0, 0, 255), 2);
}
imshow("ouput", image);
waitKey(0);
}
此代碼編譯零誤差,但是當我運行它,它給我的錯誤。
錯誤是:
這就是我在休息時得到的結果。
我使用Windows 8.1,Microsoft Visual Studio 2013,opencv 3.0和ArUco 1.3.0
任何幫助都會有所幫助。非常感謝您的幫助。
這聽起來很明顯,但你爲什麼不直接點擊*「Break」*,然後自己查看一下callstack? – IInspectable
@IInspectable我不明白錯誤是什麼,這就是我在這裏發佈它的原因。我已經編輯了這個問題,並添加了我點擊中斷時獲得的內容。我希望你能指出我的錯誤在哪裏。謝謝。 – SNB
您需要獲得opencv的調試符號,以及其他任何指向調用堆棧頂部的符號。有關設置開發環境以使用調試符號的說明,請參見[使用符號調試](https://msdn.microsoft.com/en-us/library/windows/desktop/ee416588.aspx)。 – IInspectable