opencv读取手机摄像头

举报
风吹稻花香 发表于 2021/06/05 01:50:44 2021/06/05
【摘要】 http://192.168.0.101:8081/ 测试: 浏览器可以直接输入网址,弹出框输入用户名密码进行读取。 opencv代码:#include <stdio.h>#include <opencv2/opencv.hpp>#include <iostream> int main(int, char**) { cv::Vi...

http://192.168.0.101:8081/

测试:

浏览器可以直接输入网址,弹出框输入用户名密码进行读取。


      opencv代码:
      #include <stdio.h>
      #include <opencv2/opencv.hpp>
      #include <iostream>
      int main(int, char**) {
       cv::VideoCapture vcap;
       cv::Mat image;
      // This works on a D-Link CDS-932L
      const std::string videoStreamAddress = "http://<username:password>@<ip_address>/video.cgi?.mjpg";
      //open the video stream and make sure it's opened
      if(!vcap.open(videoStreamAddress)) {
      std::cout << "Error opening video stream or file" << std::endl;
      return -1;
      }
      for(;;) {
      if(!vcap.read(image)) {
      std::cout << "No frame" << std::endl;
       cv::waitKey();
      }
       cv::imshow("Output Window", image);
      if(cv::waitKey(1) >= 0) break;
      }
      }
        这个图是白色的:
  
   CvCapture *camera=cvCaptureFromFile("http://admin:admin@192.168.1.2:8081/axis-cgi/mjpg/video.cgi?resolution=640x480&req_fps=30&.mjpg");
 if (camera==NULL){
 printf("camera is null\n");
 return -1;
 }
 else printf("camera is not null");
 cvNamedWindow("img");
 while (cvWaitKey(10)!=atoi("q")){
 double t1=(double)cvGetTickCount();
 IplImage *img=cvQueryFrame(camera);
 if(!img)break;
cvShowImage("img1",img);
 double t2=(double)cvGetTickCount(); printf("time: %gms  fps: %.2g\n",(t2-t1)/(cvGetTickFrequency()*1000.), 1000./((t2-t1)/(cvGetTickFrequency()*1000.)));
 } cvReleaseCapture(&camera);

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/54983247

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。