使用OpenCV和Wt的C ++ Web项目

时间:2010-12-11 13:52:00

标签: c++ opencv wt

使用 OpenCV 库进行图像处理的基于Web的项目有什么好的平台?我找到了Wt(http://www.webtoolkit.eu/wt)。

我可以在Wt中使用 OpenCV 吗? Wt还有更好的替代方案吗?

要求:

登录页面GUI     上传文件,     选择图像上的区域,     使用 OpenCV

进行手写字/线检测

3 个答案:

答案 0 :(得分:4)

我过去曾经使用过Wt,它非常实用,虽然体积很大。它的膨胀与必须支持各种各样的Web浏览器有关,所以在某些情况下它是一个功能。

如果你是一个更接近金属的程序员,我会推荐PION,并使用你的一些网络创作技能实现你的GUI:

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

你可以在任何网络库中使用OpenCV。 StackOverflow上提供了对您的选择的好评:

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

答案 1 :(得分:1)

我认为Wt可以提出你的要求。我无法预见在Wt中链接OpenCV的问题,系统肯定具有足够的交互性以提供您描述的功能。首先使用服务器端操作实现它,如果需要,您仍然可以使用少量客户端JS优化部件。

答案 2 :(得分:0)

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);