繁体   English   中英

wxWidgets + OpenCV矩形崩溃OnButtonClick()

[英]wxWidgets + OpenCV rectangle crash OnButtonClick()

我试图单击wxbutton时在OpenCV Mat中绘制一个简单的矩形,但是调用矩形函数时程序崩溃。

void wxFrameFrame::OnButton1Click(wxCommandEvent& event) 
{
    Mat A(480,640,CV_32F);
    Point p1(10, 10);
    Point p2(20,200);
    rectangle(A, p1, p2, Scalar(255,0,255,0), 0);

    // Show what you got
    namedWindow( "src", CV_WINDOW_AUTOSIZE );
    imshow( "src", A );
}

我已经在控制台应用程序中尝试了此代码,并且工作正常。 我也尝试将这段代码放在wxFrame构造函数中,并且也可以正常工作。 如果我评论矩形函数,一切正常(显示黑色图像)。

我有两天了这个问题,我原来的问题是我无法warpAffine图像,因为它也崩溃了。

我可以用

A.at<uchar>(0,0)=255 

而且我知道我可以做一个for循环来绘制矩形。

我的环境是Windows 7 64位,OpenCv 2.3.1,wxWidgets 2.8.12和CodeBlocks 10.05

感谢您的任何帮助和想法,谢谢。

- -编辑 - -

我已经尝试了矩形函数,warpAffine和putText函数,并且在OnButtonClick内部调用这三个函数时崩溃了。 功能线和圆工作正常。

看来问题出在矩形例程中。 这是OpenCV中的东西吗? 或wxFrameFrame的方法?

我要尝试的第一件事是查看矩形是否在通过自动调用时遇到问题,该自动调用会立即超出范围。

尝试这个

void wxFrameFrame::OnButton1Click(wxCommandEvent& event) 
{
    static Mat A(480,640,CV_32F);
    static Point p1(10, 10);
    static Point p2(20,200);
    static Scaler s(255,0,255,0);
    static int n = 0;
    rectangle(A, p1, p2, s, n);

    ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM