opencv 对网络摄像头采集到的视频调用
opencv对网络摄像头采集到的视频调用,这个可以实现么,怎么实现,用上那些函数,别百度了,求干货是不是我,能让他显示,就可以做识别了,比如是,在QT界面显示了,就可以直...
opencv 对网络摄像头采集到的视频调用,这个可以实现么,怎么实现,用上那些函数,别百度了,求干货
是不是我,能让他显示,就可以做识别了,比如是,在QT界面显示了,就可以直接做下一步的识别? 展开
是不是我,能让他显示,就可以做识别了,比如是,在QT界面显示了,就可以直接做下一步的识别? 展开
1个回答
展开全部
如果你用Qt+OpenCV采集网络摄像头的话,主要分两步:
1.获取网络视频数据;可能用到:
QNetworkAccessManager;QNetworkReply ;QNetworkRequest
通过QNetworkAccessManager的get函数访问某个QNetworkRequest(url),获得一个QNetworkReply;
当QNetworkReply readread的时候,读取视频流数据并解析成OpenCV的Mat矩阵或Iplimage;
通过不断读取数据,并调用imshow()或cvshowimage函数显示视频;也可以转换成QImage在qt界面中显示。
2.图像处理
获取Mat矩阵或IplImage之后,可以调用OpenCV里的函数对他们进行处理了。
1.获取网络视频数据;可能用到:
QNetworkAccessManager;QNetworkReply ;QNetworkRequest
通过QNetworkAccessManager的get函数访问某个QNetworkRequest(url),获得一个QNetworkReply;
当QNetworkReply readread的时候,读取视频流数据并解析成OpenCV的Mat矩阵或Iplimage;
通过不断读取数据,并调用imshow()或cvshowimage函数显示视频;也可以转换成QImage在qt界面中显示。
2.图像处理
获取Mat矩阵或IplImage之后,可以调用OpenCV里的函数对他们进行处理了。
更多追问追答
追问
当QNetworkReply readread的时候,读取视频流数据并解析成OpenCV的Mat矩阵或Iplimage? 这个步骤,难不难?使用的方法是?
追答
不麻烦。首先读到的数据位QByteArray,这个bytearray头部可能包含一些图像整体信息,如类型,大小之类的;你创建一个CvMat,然后把之前的图像信息读到后去掉头部,然后把bytearray的数据一个个赋值给CvMat
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询