-
因图像分析需要,相机设置是2560×1440分辨率,H.265编码。设备是华为昇腾Atlas系列,系统Ubuntu 20.04,Python 3.8,OpenCV 4.5。用下面的代码读取时会出现花屏、掉帧,而且内存占用特别大。我试过把相机采集和图像分析分成两个线程,也试过用华为VDEC做硬件解码,但VDEC的API一堆问题,有些函数根本找不到,改来改去也没解决根本问题。不知道有没有人处理过类似的问题?该怎么稳定地读取这种高分辨率H.265的RTSP流?或者有没有别的方法建议? import cv2import threadingimport queuefrom pupil_apriltags import Detectorimport mathfrom datetime import datetimeimport timeimport tracebackimport os #---------- 摄像头采集线程类 ----------class CameraCaptureThread(threading.Thread): """ 摄像头采集线程类 用法: capture_thread = CameraCaptureThread() capture_thread.daemon = True capture_thread.start() """ def __init__(self, camera_id): """ 初始化摄像头采集线程 Args: camera_id (int): 摄像头ID,默认0 """ super().__init__() self.camera_id = camera_id # 摄像头ID self.cap = None # 摄像头对象 self.frame_queue = queue.Queue(maxsize=2) # 帧队列最大长度设为2,避免旧帧堆积,保证实时性 self.running = False # 线程运行状态标志 def run(self): """ 线程入口函数 打开摄像头并循环读取帧,将帧放入队列 """ # 打开摄像头 self.cap = cv2.VideoCapture(self.camera_id, cv2.CAP_FFMPEG) # 设置 FFmpeg 内部缓冲只保留最新一帧 self.cap.set(cv2.CAP_PROP_BUFFERSIZE, 2) # MJPG 编码 #self.cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('M','J','P','G')) # 如果打开失败,则退出线程 if not self.cap.isOpened(): print("无法打开摄像头") return self.running = True while self.running: # -----1.读取一帧图像----- ret, frame = self.cap.read() if not ret: print("无法读取帧,尝试重连...") self.cap.release() time.sleep(1) self.cap = cv2.VideoCapture(self.camera_id, cv2.CAP_FFMPEG) continue # 帧队列满时,丢弃最早的帧,保证实时性 if self.frame_queue.full(): _ = self.frame_queue.get() # 弹出最早帧 self.frame_queue.put(frame) # 放入最新帧 del ret, frame # 释放内存 def stop(self): """ 停止线程 """ self.running = False if self.cap: self.cap.release() if __name__ == '__main__': # 摄像头地址 camera_id = "rtsp://xx" capture_thread = None try: # 启动采集线程 capture_thread = CameraCaptureThread(camera_id=camera_id) capture_thread.daemon = True capture_thread.start() time.sleep(2) # 从队列里取一帧并保存 if not capture_thread.frame_queue.empty(): frame = capture_thread.frame_queue.get() # 获取当前日期时间 current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 在图片右上角添加日期时间文字 cv2.putText(frame, current_time, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (255, 255, 255), 2) # 保存图片 filename = "security_camera.jpg" cv2.imwrite(filename, frame) print(f"已保存图片: {filename}") else: print("没有获取到帧") except Exception as e: traceback.print_exc() finally: # 确保释放资源 if capture_thread: capture_thread.stop() capture_thread.join() time.sleep(0.2) cv2.destroyAllWindows() print("摄像头线程已关闭")
-
完整的程序 和硬件部署能做的可以留言联系一下 功能:https://bbs.huaweicloud.com/blogs/420738
-
各位大佬好 :经过一周爬坑 已经将官方的demo 跑通 但是替换自己的模型时出差 提示信息也很少 不知道是哪里出问题环境 yolov5-6.0 + docker 镜像直接使用的 nvcr.io/nvidia/caffe 省的自己重新搭建caffe环境yolov5.yaml 文件另外就是将models下common.py文件按照网上的教程做了修改 如下只修改了3处 主要是将nn.silu()变为nn.relu() 其他未做处理。训练50轮后 得到pt模型执行python3 export.py --include onnx --device '0' --weights best.ptpython3 -m onnxsim best.onnx yolo.onnx下载了官方推荐的caffetoonnx项目 https://github.com/xxradon/ONNXToCaffe opset记得设置为9执行 python3 convertCaffe.py yolo.onnx yolov5s.prototxt yolov5s.caffemodel全程无任务报错 顺利生成模型重点!!! 将成功转换后的模型执行后直接报错: 网上找了好久也没有类似的问题 纠结了一天也不知道从哪里下手
-
【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
SDC APP开发指南更新,支持SDC 8.0.1版本,SDC APP开发指南会在此帖持续更新,欢迎大家回复和留言!新增SDC802,SDC810 开发指南文档20230327:附件中新增10.0版本app开发指南,删除了820版本以前的老旧文档
-
尊敬的华为云客户:我们很高兴的通知您,经过半年多的公测,为了给您提供更专业的服务支持和可用性保障,华为云视频内容分析服务子服务视频OCR计划于2019/06/05 00:00:00(北京时间)正式转商用。为了感谢您对华为云视频OCR服务的支持,服务将在转商后一周内保持免费,2019/06/12 00:00:00后正式开始收费。当前已使用该服务的用户,转商后不会影响您的继续使用;为了保障您的权益,在此郑重建议您继续使用服务前,点击视频内容分析服务主页的服务咨询,联系我们了解具体的收费标准。更多关于视频OCR的产品介绍,请您点击了解。如您有任何问题,可随时通过工单或者服务热线(950808)与我们联系。感谢您对华为云的支持!
-
尊敬的华为云客户:华为云计划于2019/03/01 00:00(北京时间)将暴力分拣识别正式转商用。服务正式商用后,服务将于2019/03/01 00:00(北京时间)正式开始收费。华为云在此提醒您,如果您不再需要使用该服务,请勿从控制台使用服务或调用服务API,以免产生费用。更多关于暴力分拣识别的产品介绍,请您点击了解。如您在使用过程中有宝贵意见,欢迎您拨打华为云服务热线:4000-955-988与我们联系。感谢您对华为云的支持!
-
视频点播发布日志管理服务【新功能】:基于HLS标准加密协议(AES128算法)对HLS文件的TS分片进行加密,客户端通过解密秘钥进行播放。详细的操作与描述:视频加密是对视频内容保护的一种手段。华为云支持对视频中的内容进行HLS AES128加密,有效防止视频泄露和盗链问题。操作步骤1.登录视频点播控制台。2.在左侧导航栏选择“全局设置 > 安全设置”,单击“加密设置”,弹出“加密设置”界面,如图1所示。图1 加密设置页面 3.配置合法的能够提供秘钥的URL,单击“确认”。如需要对上传转码后的视频进行加密,还需在转码模板开启“加密”开关,详情可参考转码设置。
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签