Я пытаюсь нарисовать простой прямоугольник в мате OpenCV при нажатии кнопки wx, но происходит сбой программы при вызове функции прямоугольника.
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 и тоже отлично работает. Если я прокомментирую функцию прямоугольника, все в порядке (показывает черное изображение).
У меня есть эта проблема в течение двух дней, моя первоначальная проблема была в том, что я не мог деформировать изображение, потому что оно тоже зависало.
Я могу нарисовать изображение с помощью
A.at<uchar>(0,0)=255
и я знаю, что могу сделать цикл для рисования прямоугольника.
Моя среда - 64-битная Windows 7, OpenCv 2.3.1, wxWidgets 2.8.12 и CodeBlocks 10.05
Любая помощь и идея приветствуются,
Спасибо.
--- редактировать ----
Я попробовал функции rectangle, warpAffine и putText, и три из них потерпели крах при вызове из OnButtonClick. Функции линии и круга работают нормально.