ui界面版本
This commit is contained in:
@@ -45,6 +45,8 @@ import threading
|
||||
class GetImage:
|
||||
def __init__(self, cam_index=0, width=1920, height=1080):
|
||||
self.cap = cv2.VideoCapture(cam_index, cv2.CAP_DSHOW)
|
||||
if not self.cap.isOpened():
|
||||
self.cap = cv2.VideoCapture(cam_index)
|
||||
self.cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)
|
||||
self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)
|
||||
self.frame = None
|
||||
@@ -70,4 +72,6 @@ class GetImage:
|
||||
time.sleep(0.2)
|
||||
self.cap.release()
|
||||
cv2.destroyAllWindows()
|
||||
get_image = GetImage()
|
||||
|
||||
# get_image 将在main.py中初始化
|
||||
get_image = None
|
||||
@@ -1,17 +1,34 @@
|
||||
import random
|
||||
import time
|
||||
import ch9329Comm
|
||||
import time
|
||||
import random
|
||||
import serial
|
||||
serial.ser = serial.Serial('COM6', 9600) # 开启串口
|
||||
mouse = ch9329Comm.mouse.DataComm(1920, 1080)
|
||||
|
||||
# 全局变量,由main.py初始化
|
||||
serial.ser = None
|
||||
mouse = None
|
||||
|
||||
def init_mouse_keyboard(config_group):
|
||||
"""初始化鼠标和串口"""
|
||||
global serial, mouse
|
||||
# 初始化串口
|
||||
serial.ser = serial.Serial(
|
||||
config_group['serial_port'],
|
||||
config_group['serial_baudrate']
|
||||
)
|
||||
# 初始化鼠标
|
||||
mouse = ch9329Comm.mouse.DataComm(
|
||||
config_group['camera_width'],
|
||||
config_group['camera_height']
|
||||
)
|
||||
print(f"✅ 串口已打开: {config_group['serial_port']} {config_group['serial_baudrate']}")
|
||||
print(f"✅ 鼠标已初始化: {config_group['camera_width']}x{config_group['camera_height']}")
|
||||
|
||||
def bezier_point(t, p0, p1, p2, p3):
|
||||
"""计算三次贝塞尔曲线上的点"""
|
||||
x = (1-t)**3 * p0[0] + 3*(1-t)**2*t*p1[0] + 3*(1-t)*t**2*p2[0] + t**3*p3[0]
|
||||
y = (1-t)**3 * p0[1] + 3*(1-t)**2*t*p1[1] + 3*(1-t)*t**2*p2[1] + t**3*p3[1]
|
||||
return (x, y)
|
||||
|
||||
def move_mouse_bezier(mouse, start, end, duration=1, steps=120):
|
||||
"""
|
||||
用贝塞尔曲线模拟鼠标移动(安全版)
|
||||
@@ -45,13 +62,14 @@ class Mouse_guiji():
|
||||
def __init__(self):
|
||||
self.point=(0,0)
|
||||
|
||||
def send_data_absolute(self, x, y,may=0):
|
||||
def send_data_absolute(self, x, y, may=0):
|
||||
move_mouse_bezier(mouse, self.point, (x,y), duration=1, steps=120)
|
||||
if may == 1:#点击左
|
||||
if may == 1: # 点击左
|
||||
mouse.click()
|
||||
elif may == 2:
|
||||
mouse.click1()#点击右
|
||||
mouse.click1() # 点击右
|
||||
self.point=(x,y)
|
||||
|
||||
mouse_gui = Mouse_guiji()
|
||||
# mouse_gui 将在main.py中初始化
|
||||
mouse_gui = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user