900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > OpenCV 调用手机摄像头

OpenCV 调用手机摄像头

时间:2023-11-21 02:50:45

相关推荐

OpenCV 调用手机摄像头

OpenCV 调用手机摄像头

文章目录

OpenCV 调用手机摄像头调用内置电脑摄像头下载IP摄像头APP连接摄像头OpenCV调用手机摄像头 Python脚本展示用手机摄像头进行图像分类

由于我喜欢做计算机视觉的深度学习的东西,所以对于目标检测和图像分类这样的项目,我想将其用入视频等等中

调用内置电脑摄像头

OpenCV很容易就可以调用内置电脑内置摄像头,只需要用

# 获取摄像头,传入0表示获取系统默认摄像头cap = cv2.VideoCapture(0)

下载IP摄像头APP

我就在想如何获取手机摄像头,因为我电脑摄像头比较小,我就想用手机摄像头或者外置摄像头,如果是外置摄像头还要买,太贵了,我就想到手机摄像头。

我想啊想,居然发现一个好方法,我们只需要下载一个APP软件即可

也就是!!!IP摄像头,啦啦啦啦啦,这是个好东西

我们在小米商店就可以很容易看到,不过上网看也是可以查到的

连接摄像头

我们可以打开我们的APP,然后打开,会显示以下页面

这个页面中有个局域网,我们其实可以在电脑上输入我们的局域网,我们就可以在电脑上看到自己的摄像头显示的页面了,并且还可以调分辨率,大小等,还有很多好玩的动作检测等等。

比如用我的红米K20 Pro下载后,打开页面是这样的

我们可以看到下面有很多按钮,就有很多功能可以选择,比如分辨率

OpenCV调用手机摄像头 Python脚本

我们手机打开IP摄像头之后,我们就可以运行以下Python脚本

这里提示一下,默认的用户名和密码是admin,这也是我们地址的写法

# coding=utf-8import cv2import timecv2.namedWindow("camera", 1)# 开启ip摄像头video = "http://admin:admin@192.168.137.132:8081/" # 此处@后的ipv4 地址需要修改为自己的地址#!!!!划重点了!!!!这个地址就是上面记下来的局域网IPcapture = cv2.VideoCapture(video)num = 0;while True:success, img = capture.read()if not success:print('error')break# 不进行旋转#cv2.imshow("camera", img)# 获取长宽(h, w) = img.shape[:2]center = (w // 2, h // 2)# 进行旋转M = cv2.getRotationMatrix2D(center, -90, 1.0)rotated = cv2.warpAffine(img, M, (w, h))# 若不关参数,参数也会被旋转,影响效果# !!!处理帧函数img = process_frame(rotated)cv2.imshow("camera", img)# 按键处理,注意,焦点应当在摄像头窗口,不是在终端命令行窗口key = cv2.waitKey(10)if key == 27:# 按esc键退出print("esc break...")breakif key == ord(' '):# 按空格 保存一张图像 图片的路径就在下面的filename里面num = num + 1filename = "./img/frames_%s.jpg" % numcv2.imwrite(filename, img)capture.release()cv2.destroyWindow("camera")

这里使用的是局域网ip地址,当wifi连接不同路由器时,这一个IP地址会变化,要调整代码中的ip地址。

再次强调,代码中的ip地址格式为:

http://:@<IP_ADDRESS>/

展示用手机摄像头进行图像分类

我用来了MobileNetv2,里面包含imagenet1000的分类,我们可以看到把我的皮卡丘识别为carton

每日一句

You only grow when you’re alone. 你只能在孤独中成长。— Paul Newman

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。