v1.2.1
This commit is contained in:
54
vision.py
54
vision.py
@@ -608,35 +608,35 @@ def save_shot_image(result_img, center, radius, method, ellipse_params,
|
||||
|
||||
# 转换图像为 OpenCV 格式以便绘制
|
||||
img_cv = image.image2cv(result_img, False, False)
|
||||
|
||||
# # 确保激光十字线被绘制(使用OpenCV在图像上绘制,确保可见性)
|
||||
# laser_color = (config.LASER_COLOR[0], config.LASER_COLOR[1], config.LASER_COLOR[2])
|
||||
# thickness = max(config.LASER_THICKNESS, 2) # 至少2像素宽,确保可见
|
||||
# length = max(config.LASER_LENGTH, 10) # 至少10像素长
|
||||
|
||||
# # 绘制激光十字线(水平线)
|
||||
# cv2.line(img_cv,
|
||||
# (int(x - length), int(y)),
|
||||
# (int(x + length), int(y)),
|
||||
# laser_color, thickness)
|
||||
# # 绘制激光十字线(垂直线)
|
||||
# cv2.line(img_cv,
|
||||
# (int(x), int(y - length)),
|
||||
# (int(x), int(y + length)),
|
||||
# laser_color, thickness)
|
||||
# # 绘制激光点
|
||||
# cv2.circle(img_cv, (int(x), int(y)), max(thickness, 3), laser_color, -1)
|
||||
# 在 vision.py 的 save_shot_image 函数中,替换第598-614行的代码:
|
||||
|
||||
# 绘制激光点标注(使用空心圆圈,类似校准时的标注方式)
|
||||
# 绘制激光十字线(保存图像时统一绘制,避免影响检测)
|
||||
laser_color = (config.LASER_COLOR[0], config.LASER_COLOR[1], config.LASER_COLOR[2])
|
||||
thickness = 1 # 圆圈线宽
|
||||
|
||||
# 绘制外圈(半径10,空心)
|
||||
cv2.circle(img_cv, (int(x), int(y)), 10, laser_color, thickness)
|
||||
# 绘制中圈(半径5,空心)
|
||||
cv2.circle(img_cv, (int(x), int(y)), 5, laser_color, thickness)
|
||||
# 绘制中心点(半径2,实心,用于精确定位)
|
||||
cross_thickness = int(max(getattr(config, "LASER_THICKNESS", 1), 1))
|
||||
cross_length = int(max(getattr(config, "LASER_LENGTH", 10), 10))
|
||||
|
||||
# 水平线
|
||||
cv2.line(
|
||||
img_cv,
|
||||
(int(x - cross_length), int(y)),
|
||||
(int(x + cross_length), int(y)),
|
||||
laser_color,
|
||||
cross_thickness,
|
||||
)
|
||||
# 垂直线
|
||||
cv2.line(
|
||||
img_cv,
|
||||
(int(x), int(y - cross_length)),
|
||||
(int(x), int(y + cross_length)),
|
||||
laser_color,
|
||||
cross_thickness,
|
||||
)
|
||||
# 小点(与原 main.py 行为一致)
|
||||
cv2.circle(img_cv, (int(x), int(y)), 1, laser_color, cross_thickness)
|
||||
|
||||
# 额外的激光点标注(空心圆圈,便于肉眼查看)
|
||||
ring_thickness = 1
|
||||
cv2.circle(img_cv, (int(x), int(y)), 10, laser_color, ring_thickness)
|
||||
cv2.circle(img_cv, (int(x), int(y)), 5, laser_color, ring_thickness)
|
||||
cv2.circle(img_cv, (int(x), int(y)), 2, laser_color, -1)
|
||||
|
||||
# 如果检测到靶心,绘制靶心标注
|
||||
|
||||
Reference in New Issue
Block a user