因为需要实时处理视频,但是穷不想买摄像头,于是就把我的手机配置成IP摄像头。这样可以实时处理我手机拍摄的的视频。通过一个app来实现这个操作。
- 点击我–手机下载一个app
- 软件UI截图
打开app后去设置一下账号和密码
- 获得链接
下来就是代码部分了。opencv我们打开摄像头使用的videocapture这个方法。
注意链接为:http://admin:admin@192.168.123.58:8081/
http://用户名:密码@ip地址:端口号
python代码
import cv2 as cv
def video_demo():
# 0是代表摄像头编号,只有一个的话默认为0
url = "http://admin:admin@192.168.123.58:8081/"
capture = cv.VideoCapture(url)
while (capture.isOpened()):
print(capture.isOpened())
ref, frame = capture.read()
print(ref)
cv.imshow("1", frame)
# 等待30ms显示图像,若过程中按“Esc”退出
c = cv.waitKey(30) & 0xff
if c == 27:
capture.release()
break
print("done")
video_demo()
cv.destroyAllWindows()
cpp代码
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture capture;
Mat frame;
capture.open("http://admin:admin@192.168.165.33:8081");
while (1)
{
capture >> frame; //读取当前每一帧画面
imshow("读取视频", frame); //显示当前图像帧
waitKey(30); //延时30ms
}
return 0;
}
网页端打开效果:
程序打开效果: