news 2026/7/10 6:13:32

SOP实时侦测系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SOP实时侦测系统

上图先

# -*- coding: utf-8 -*- import cv2 import mediapipe as mp import numpy as np import time import sys import os import tempfile import subprocess # 解决中文显示问题 - 使用Pillow确保中文正确显示 def cv2_puttext_chinese(img, text, position, font_scale, color, thickness): """ 使用Pillow库在OpenCV图像上显示中文 """ try: from PIL import Image, ImageDraw, ImageFont # 确保颜色格式正确 if isinstance(color, tuple) and len(color) == 3: # OpenCV是BGR格式,需要转换为RGB color_rgb = (color[2], color[1], color[0]) else: color_rgb = (255, 255, 255) # 将OpenCV图像转换为PIL图像 img_pil = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) draw = ImageDraw.Draw(img_pil) # 确定字体大小 font_size = int(font_scale * 20) # 调整比例以匹配cv2.putText # 尝试使用系统中常见的中文字体 font_paths = [ "C:/Windows/Fonts/simhei.ttf", # 黑体 "C:/Windows/Fonts/msyh.ttc", # 微软雅黑 "C:/Windows/Fonts/msyhbd.ttc", # 微软雅黑粗体 "C:/Windows/Fonts/simsun.ttc", # 宋体 "C:/Windows/Fonts/arial.ttf", # 英文备选 ] font = None for font_path in font_paths: try: if os.path.exists(font_path): font = ImageFont.truetype(font_path, font_size) break except Exception: continue # 如果没有找到合适的字体,使用默认字体 if font is None: font = ImageFont.load_default() # 绘制中文文本 draw.text(position, text, font=font, fill=color_rgb) # 转换回OpenCV格式 img = cv2.cvtColor(np.array(img_pil), cv2.COLOR_RGB2BGR) return img except ImportError: # 如果PIL不可用,使用简单的英文替代 english_map = { "右手抹鼻子": "Right hand to nose", "左手摸头发": "Left hand to hair", "双手击掌": "Hands clap", "SOP完成!": "SOP Complete!", "剩余时间": "Time left", "秒": "s" } for chinese, english in english_map.items(): text = text.replace(chinese, english) cv2.putText(img, text, position, cv2.FONT_HERSHEY_SIMPLEX, font_scale, color, thickness, cv2.LINE_AA) return img except Exception as e: # 其他错误情况下,使用英文替代 english_map = { "右手抹鼻子": "Right hand to nose", "左手摸头发": "Left hand to hair", "双手击掌": "Hands clap", "SOP完成!": "SOP Complete!", "剩余时间": "Time left", "秒": "s" } for chinese, english in english_map.items(): text = text.replace(chinese, english) cv2.putText(img, text, position, cv2.FONT_HERSHEY_SIMPLEX,
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 3:19:43

嵌入式固件升级框架详解与实战经验

嵌入式固件升级(Firmware Update)是什么?固件升级是指在设备不拆解、不更换芯片的前提下,为了修复Bug、增加新功能或提升性能,通过软件方式更新嵌入式系统固件。对嵌入式产品而言,固件升级机制可以保持产品…

作者头像 李华
网站建设 2026/7/10 3:19:24

EmotiVoice API鉴权机制实现:保障调用安全

EmotiVoice API鉴权机制实现:保障调用安全 在AI语音技术迅速普及的今天,语音合成已不再是简单的“文字转语音”,而是迈向情感化、个性化和场景化的智能交互核心。EmotiVoice作为一款支持多情感表达与零样本声音克隆的开源TTS引擎,…

作者头像 李华
网站建设 2026/7/9 14:36:29

最小二乘问题详解3:线性最小二乘实例

案例总是举拟合直线的例子实在太简单了,这里就使用一个更加复杂一点问题模型:双线性变换。具体来说,假设存在两幅地图需要配置,并且找到了各自地图上的同名点,可以使用双线性变换模型来进行快速、初步的校正。也就是说…

作者头像 李华
网站建设 2026/7/10 11:10:42

生产透明化如何实现?双翌MES软件构建全链路数字车间

在当今制造业的激烈竞争中,单纯的设备自动化已不再是制胜关键。真正的核心竞争力,日益体现为企业能否将生产现场海量、分散的数据转化为精准的洞察与敏捷的行动。许多企业正面临这样的困境,高端智能设备林立,但信息却如同孤岛&…

作者头像 李华
网站建设 2026/7/9 22:27:33

如何3分钟快速配置Nginx gzip压缩:新手必学的完整指南

如何3分钟快速配置Nginx gzip压缩:新手必学的完整指南 【免费下载链接】Linux-Tutorial Linux-Tutorial是一个Linux系统教程,适合用于学习和掌握Linux命令行操作和系统管理技能。特点:内容详细、实例丰富、适合入门。 项目地址: https://gi…

作者头像 李华
网站建设 2026/7/9 11:30:32

CopilotKit实时协作技术:构建多人AI交互系统的完整指南

CopilotKit实时协作技术:构建多人AI交互系统的完整指南 【免费下载链接】CopilotKit Build in-app AI chatbots 🤖, and AI-powered Textareas ✨, into react web apps. 项目地址: https://gitcode.com/GitHub_Trending/co/CopilotKit 想象一下&…

作者头像 李华