电脑调用手机摄像头实现1080P分辨率拍摄
前言
最近有某些需求需要用到电脑的摄像头。但是……我本本的自带摄像头的像素。1280x720,这……就有点尴尬
emmm,拍出来的照片,还真有点复古的感觉耶
作为21世纪垃圾佬的我,怎么能屈服在这720P的分辨率下面呢?
怎么只能去某宝某东买,或者去某鱼“捡垃圾”吗?
这价格……打扰了,打扰了~~~
怎么简单又低成本的搞定这个问题
但是我们不能屈服呀,目标还在那里,任务还没完成呢。
所以,我们应该怎么搞?
这个时候伟大的手机就可以站出来了。不管是现在的手机还是三四年前的手机,随意都能将分辨率提高到1080以上啦。更不说现在的P30了,银河都给你拍出来。但是……拍黑洞的同学可以省省了。。。
所以,这个是时候我们有三个方案:
-
第一个:
是自己做个轮子,然后把手机开到照相机,接着不停的用adb给屏幕截图,截好后就传回来。这样子的话,速度就会很慢。因为你需要不停的发指令,又要截图,截完还得传回电脑上面显示。所以,这个方案,能把帧率提高到10帧都难了咯。所以,我们就先放到一边,好吧。 -
第二个:
写一个软件做后台服务,按照一定分辨率去截图,然后启动一个web服务,把内容发送到电脑这边。但是这样子的话,时间成本比较高,对于我们为了这个临时或者偶尔需要用一下的情况来说,不是很现实。所以,也放到一边啦 -
第三个:
去网上找轮子,看一下有没有好点的现成的轮子或者软件。果不其然,I got it!发现一个似乎挺流批的软件,叫DroidCam ,这软件可以实现不同分辨率的图像传输,还可以实现放大缩小,相机聚焦的功能。号称可以兼容Chrome浏览器和QQ等通讯软件。太完美了,我们的需求他都实现了。
OK,鉴于时间成本和现实情况。我们暂且采用第三个方案吧,嘻嘻嘻。懒就是懒,无限借口~
试试白嫖DroidCam
安装PC端软件
我们先去这个软件的官网下载好这个软件的PC端,网址在这里:https://www.dev47apps.com/
然后下载好软件后,安装之。
随后安装完便打开,可以看到这样的界面:
手机接入和电脑同一个局域网,然后,也安装上他们的这个软件,安卓版的,有两个版本,一个是正常版、另外一个是高级版的。亲测后,发现只有高级版的才有上面说的1080P的功能。然后,需要付费购买,但是不想付费怎么办?去某些神奇的地方下载破解版的DroidCamX。
安装Android客户端
OK,我已经在手机上面装好DroidCamX,然后用手机打开软件。可以看到这样的界面。
试试效果
这个时候,在电脑上面打开刚才装好的软件,接着再填好ip地址和端口,点击连接,接着你就可以看到东西了。
也可以在网页中打开,输入ip加端口。
就这个分辨率,没得说了吧。吊锤自带的摄像头,放张比较图,意思意思一下
左边1080手机摄像头,右边笔记本摄像头,点击可看大图
在网页上面的摄像头测试网站中也可以看到摄像头的正常使用。
接着,我们差不多就已经可以确定使用这个软件的可行性了。
在代码中调用这个摄像头
可能会有同学问,怎么在代码中用到这个网络摄像头呢?
所以在这里我随意的、简单的用Python读取这个摄像头的数据。
效果大概长这样。
我们使用 python 导入 cv2库 ,然后,将我们刚才的摄像头的网页链接丢进去。比如:
http://192.168.1.104:4747/mjpegfeed?1920x1080 ,这个例子,后面 1920x1080 说明传回来的数据是要1920x1080分辨率的。然后用 cv2.VideoCapture 去读取这个链接。接着就可以在一个循环里面读取内容然后再imshow出来了。
代码我放这里
1 | import time |
从此可以用上手机摄像头给电脑来拍出更高清的视频或者相片了,使用场景就大家根据自己的情况来处理啦,总之,仁者见仁智者见智