C ++ веб-проект с использованием OpenCV с Wt - PullRequest
8 голосов
/ 11 декабря 2010

Что такое хорошая платформа для веб-проекта, который выполняет обработку изображений с использованием библиотеки OpenCV ? Я нашел Wt (http://www.webtoolkit.eu/wt).

Могу ли я использовать OpenCV с Wt? Есть ли лучшие альтернативы Wt?

Требования:

GUI страницы входа в систему загружать документы, выберите области на изображении, обнаружение рукописного слова / строки с использованием OpenCV

Ответы [ 3 ]

4 голосов
/ 12 декабря 2010

Я использовал Wt в прошлом, это очень полезно, хотя и громоздко.Это связано с необходимостью поддерживать широкий спектр веб-браузеров, так что в некоторых случаях это особенность.

Если вы больше любите программист, я бы порекомендовал PIONи реализации вашего GUI с использованием некоторых ваших навыков веб-разработки:

http://www.pion.org/projects/pion-network-library

Вы можете использовать OpenCV практически с любой сетевой библиотекой.Хороший обзор вашего выбора доступен здесь, на StackOverflow:

https://stackoverflow.com/questions/175507/c-c-web-server-library

1 голос
/ 30 декабря 2010

Я думаю, что вы спрашиваете, возможно с Wt. Я не могу предвидеть проблемы со связыванием OpenCV в Wt, и система определенно достаточно интерактивна, чтобы обеспечить описанную вами функциональность. Сначала реализуйте его с помощью действий на стороне сервера, и при необходимости вы все равно сможете оптимизировать детали с помощью небольших кусочков JS на стороне клиента.

0 голосов
/ 19 января 2018

FWIW, это простой код для отображения изображения OpenCV (возможно, изменение изображения во время работы приложения):

Wt::WMemoryResource* cvMat2res(const cv::Mat& img){
    std::vector<uchar> buf;
    cv::imencode(".png",img,buf); // by default, the fastest compression
    auto ret=new Wt::WMemoryResource(this);
    ret->setMimeType("mime/png");
    ret->setData(buf); // data is copied here
    return ret;
}

/* ... */
auto img=new Wt::Image();
root()->addWidget(img);
Wt::WMemoryResource* imgRes=nullptr;

/* set image data; this can be done also in event handler and the image updates itself automatically from the new resource */
if(imgRes) delete imgRes;
imgRes=cvMat2res(cvImage);
img->setImageLink(imgRes);
...