В любом случае взять окно отображения opencv и сохранить его в окне графического интерфейса? - PullRequest
0 голосов
/ 22 мая 2018

Просто общий вопрос.Вместо того, чтобы при использовании imshow появлялось всплывающее окно, возможно ли открыть это окно в приложении с графическим интерфейсом (это может быть любая структура с графическим интерфейсом, мне просто интересно, если это возможно) вместо этого?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Да, я сделал это в старом проекте.Я использовал Qt с c ++ и конвертировал следующим образом:

QPixmap UIQT::pixmapFromMat(cv::Mat src) {
    QImage image(this->imageFromMat(src));
    return QPixmap::fromImage(image);
}

QImage UIQT::imageFromMat(cv::Mat src) {
    Q_ASSERT(src.type() == CV_8UC3);
    return QImage((uchar*)src.data, src.cols, src.rows, 
        src.step,QImage::Format_RGB888);
}

Было довольно удобно использовать Qt с opencv, но это произошло несколько лет назад, так как я делал это в прошлый раз, и, полагаю, теперь это еще проще.

0 голосов
/ 22 мая 2018

Можно создать приложение на основе Windows, используя highgui, тот же API, который вы используете для отображения всплывающих окон.Но я не уверен, насколько он силен, когда речь идет о разработке полноценного приложения.

Если вы используете python, с pyqt обычно легко работать.Для c ++ у вас есть выбор, например Qt (мультиплатформенный), Quartz (Mac, с Objective C или Swift) и т. Д.

...