Python太好用了!AI初学者快速体验人脸检测

Python太好用了!AI初学者快速体验人脸检测,第1张

我们使用python进行AI识别测试,具体方式是是开启本地电脑的摄像头进行实时的识别,或者直接传入一张图片进行行人检测,在分析代码把数据源传入到识别,看到的是source=’0’,但是这个参数是打开本地电脑的摄像头流,再进行行人检测。

但我们需要对此处进行修改,使用rtsp流,进行AI行人识别,下面需要进行分析代码,找到可以修改的地方,或者摸个参数,来进行RTSP流的修改。

已经找到了视频流在哪里传进去的了,下面就是进行分析里面的代码进行改成rtsp流,把rtsp流写进去,来做到实时分析,实现行人检测的效果。

在进行分析的时候,发现source这个参数只有LoadStreams用到过,而且是直接传进去的。

进入source参数里面查看,发现里面有一个默认的值,就是读文件,如果不是文件,就把source=[source],再进行source值遍历。在遍历中还使用到了opencv打开本地电脑的摄像机流,再开一个线程进行实时行人识别。

代码中使用了opencv中cv2.VideoCapture的函数,从网上查找这个函数的用法得知,此函数是可以直接传入rtsp流地址的,所以问题解决就简单多了。cv2.VideoCapture这个函数是可以传入rtsp地址的,所以传入rtsp地址进行尝试,发现传入rtsp地址是没有问题的。

只要修改source这个参数即可,最终实现了检测:

这种情况可能是因为Python中的OpenCV库无法直接读取某些特定类型的摄像头数据流,需要使用其他工具或库来解决。

下面是一些可能的解决方法:

确认URL地址正确性:首先,请确保URL地址是正确的,可以使用浏览器进行测试。

检查防火墙和网络设置:如果摄像头在内部网络中,需要确保计算机可以访问该网络并且防火墙不会阻止访问。

检查OpenCV是否支持该类型的数据流:请确保OpenCV库支持您的摄像头数据流。如果不支持,则需要使用其他工具或库来读取数据流。

使用FFmpeg库:如果您的摄像头使用的是RTSP流,则可以尝试使用FFmpeg库来读取数据流。可以使用以下代码进行测试:

import cv2

cap = cv2.VideoCapture('rtsp://admin:password@192.168.1.1/1')

while True:

ret, frame = cap.read()

if not ret:

print("Error: failed to capture frame")

break

cv2.imshow("frame", frame)

if cv2.waitKey(1) &0xFF == ord('q'):

break

cap.release()

cv2.destroyAllWindows()

在代码中,您需要将URL替换为您的RTSP流URL,然后运行代码进行测试。

希望这些方法可以帮助您解决问题。

1.设备

这里用的是海康的鱼眼摄像头,型号是DS-2CD3955FWD-IWS,其实基本上能支持sdk二次开发的IP摄像头都可以(参考这里)。鱼眼摄像头相比普通的摄像头经过扭曲,因此在应用的时候一般需要进行反扭曲,这一步会造成比较大的延迟,因此没有不是特定需求的话尽量使用普通的就可以。

注:海康的萤石系列貌似并不能通过RTSP地址获取,而这里的方法需要用RTSP进行视频流获取,所以无法萤石系列就不在此列。

2.通过RTSP地址获取视频流

首先需要知道海康设备的RTSP地址,可以通过这里进行查看。

import cv2

source = ""rtsp://admin:12345@192.168.1.64/Streaming/Channels/1"

注: admin和12345分别是ip camera的用户名和密码,在浏览器上第一次登录摄像头的时候会进行设置;

192.168.1.64是摄像头的默认IP,在浏览器中输入即可进入登录页面(如下);

Channels/1和Channels/2分别对应主码流和子码流地址,两者的分辨率不同。IP摄像头无法通过opencv调节分辨率,只能在海康的监控界面的配置进行设置(如下)。

3. 摄像头校准(calibration)(optional)

这个配置有很多,而且官方提供的校准文档很详细(戳这里),就不具体细讲了。需要python版本的代码的话可以直接fork这里;如果是c++版本的话可以参考这里


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11818997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存