使用 OpenCV 库进行图像处理的基于Web的项目有什么好的平台?我找到了Wt(http://www.webtoolkit.eu/wt)。
我可以在Wt中使用 OpenCV 吗? Wt还有更好的替代方案吗?
要求:
登录页面GUI 上传文件, 选择图像上的区域, 使用 OpenCV
进行手写字/线检测答案 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);