我打算创建一个使用OpenCV进行图像处理的Web应用程序。图像处理将比较用户上传的图片和数据库中的图片。我宁愿用户通过网络摄像头上传图片而不是类似的上传方式到this。使用Web应用程序处理OpenCV
我想知道如何使用OpenCV库进行处理?我需要什么才能将我的OpenCV处理连接到我的Web应用程序?
我打算创建一个使用OpenCV进行图像处理的Web应用程序。图像处理将比较用户上传的图片和数据库中的图片。我宁愿用户通过网络摄像头上传图片而不是类似的上传方式到this。使用Web应用程序处理OpenCV
我想知道如何使用OpenCV库进行处理?我需要什么才能将我的OpenCV处理连接到我的Web应用程序?
如果你想加载图像从网络使用VideoCapture类打开图像,我们打开视频文件。看下面的例子。
VideoCapture cap;
if(!cap.open("http://docs.opencv.org/trunk/_downloads/opencv-logo.png")){
cout<<"Cannot open image"<<endl;
return -1;
}
Mat src;
cap>>src;
imshow("src",src);
imwrite("image.jpg",src);
waitKey();
或者使用Portable Native Client为OpenCV的,现在移植到谷歌浏览器NaCl和PNaCl,见OpenCV news更多细节
你可以把摄像头拍摄并上传,然后比较它们像传统的图像文件(从文件系统和/或数据库)。
服用镜头现代的方式是使用的WebRTC: http://css.dzone.com/articles/face-detection-using-html5
其他替代方案可能涉及的Macromedia Flash或者类似的东西。
这个应用比我想要做的要复杂得多,但是你在第一点上说的话似乎更多地是我想做的事情。问题是如何从网页将图像发送到我的OpenCV应用程序?目前,我必须在我的终端中输入图像源进行比较。 – user3144542
您需要Web服务器和一些脚本才能在服务器上运行(例如,PHP脚本)。然后你用一个简单的上传表单设置一个HTML页面,将这些数据POST到你的脚本,你的脚本检查文件类型,如果它是正确的,它将被存储在服务器文件系统中。 您可以将文件路径存储在某个地方(数据库,甚至是纯文本文件),然后只需运行您的程序/可执行文件即可针对该路径执行图像处理。 结帐PHP和一个简单的数据库系统。 –
对,这一切都是有道理的,我唯一不完全理解的是如何让程序或可执行文件运行?我可以将图像上传并存储在服务器文件系统中的某处,但在存储之后,我如何运行可执行文件? – user3144542
我从来没有听说过Native Client,但我会阅读它,并希望能回到您的具体问题,我可能有关于它。 – user3144542