first commit
This commit is contained in:
40
ailai_pc/caculatet.py
Normal file
40
ailai_pc/caculatet.py
Normal file
@ -0,0 +1,40 @@
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
# 全局变量
|
||||
points = []
|
||||
drawing = False # 是否开始绘图
|
||||
|
||||
|
||||
def select_point(event, x, y, flags, param):
|
||||
global drawing, points
|
||||
|
||||
if event == cv2.EVENT_LBUTTONDOWN:
|
||||
# 当鼠标左键按下时记录第一个点
|
||||
drawing = True
|
||||
points = [(x, y)]
|
||||
elif event == cv2.EVENT_LBUTTONUP:
|
||||
# 当鼠标左键释放时记录第二个点,并完成线段的选择
|
||||
drawing = False
|
||||
points.append((x, y))
|
||||
# 绘制线段
|
||||
cv2.line(img, points[0], points[1], (0, 255, 0), 2)
|
||||
# 计算两点间的距离
|
||||
distance = np.sqrt((points[1][0] - points[0][0]) ** 2 + (points[1][1] - points[0][1]) ** 2)
|
||||
print(f"线段的长度为: {distance:.2f} 像素")
|
||||
# 显示更新后的图像
|
||||
cv2.imshow('image', img)
|
||||
|
||||
|
||||
img_path = '/media/hx/04e879fa-d697-4b02-ac7e-a4148876ebb0/dataset/point1/val/192.168.0.234_01_20251014154410130.jpg' # 替换为你的图片路径
|
||||
img = cv2.imread(img_path)
|
||||
cv2.namedWindow('image')
|
||||
cv2.setMouseCallback('image', select_point)
|
||||
|
||||
while(1):
|
||||
cv2.imshow('image', img)
|
||||
k = cv2.waitKey(1) & 0xFF
|
||||
if k == 27: # 按下ESC退出
|
||||
break
|
||||
|
||||
cv2.destroyAllWindows()
|
||||
Reference in New Issue
Block a user