feat: task-1
This commit is contained in:
parent
aab4628dcd
commit
d26f233cea
6
main.py
6
main.py
@ -31,7 +31,6 @@ from task_2_5.task_2_5 import run_task_2_5, run_task_2_5_back
|
||||
from task_4.task_4 import run_task_4, run_task_4_back
|
||||
from task_test.task_left_line import run_task_test
|
||||
from task_5.task_5 import run_task_5
|
||||
from task_4.pass_bar import pass_bar
|
||||
from base_move.turn_degree import turn_degree, turn_degree_v2
|
||||
from base_move.center_on_dual_tracks import center_on_dual_tracks
|
||||
from base_move.go_to_xy import go_to_x_v2, go_to_y_v2
|
||||
@ -52,14 +51,13 @@ def main():
|
||||
Ctrl.base_msg.stand_up()
|
||||
print('yuyin')
|
||||
# speak('nihao')
|
||||
# Ctrl.base_msg.stop() # BUG 垃圾指令 for eat
|
||||
Ctrl.base_msg.stop() # BUG 垃圾指令 for eat
|
||||
|
||||
pass_bar(Ctrl, msg)
|
||||
Ctrl.base_msg.stand_up()
|
||||
|
||||
# time.sleep(100) # TEST,
|
||||
|
||||
# run_task_1(Ctrl, msg, time_sleep=TIME_SLEEP)
|
||||
run_task_1(Ctrl, msg, time_sleep=TIME_SLEEP)
|
||||
|
||||
# arrow_direction = run_task_2(Ctrl, msg, xy_flag=False)
|
||||
# arrow_direction = 'right' # TEST
|
||||
|
@ -6,29 +6,20 @@ from sensor_msgs.msg import Image
|
||||
from cv_bridge import CvBridge
|
||||
import cv2
|
||||
import os
|
||||
from pyzbar import pyzbar
|
||||
from threading import Thread, Lock
|
||||
import time
|
||||
import queue
|
||||
from datetime import datetime
|
||||
#from utils.log_helper import get_logger
|
||||
from utils.log_helper import get_logger
|
||||
# 导入AI相机服务
|
||||
from protocol.srv import CameraService
|
||||
# qrcode
|
||||
from pyzbar import pyzbar
|
||||
|
||||
#!/usr/bin/env python3
|
||||
import rclpy
|
||||
from rclpy.node import Node
|
||||
from sensor_msgs.msg import Image
|
||||
from cv_bridge import CvBridge
|
||||
import cv2
|
||||
import os
|
||||
import time
|
||||
from datetime import datetime
|
||||
from protocol.srv import CameraService
|
||||
|
||||
class ImageSubscriber(Node):
|
||||
def __init__(self):
|
||||
super().__init__('image_subscriber')
|
||||
super().__init__('ai_camera_demo')
|
||||
|
||||
# 初始化安全控制标志
|
||||
self._shutdown_flag = False
|
||||
@ -205,13 +196,12 @@ class ImageProcessor:
|
||||
def get_current_image(self):
|
||||
return self.image_subscriber.cv_image
|
||||
|
||||
def decode_qrcode(self, img=None):
|
||||
def decode_qrcodes(self, img=None):
|
||||
"""使用pyzbar解码QR码"""
|
||||
if img is None:
|
||||
img = self.get_current_image()
|
||||
|
||||
if img is None:
|
||||
return None
|
||||
if img is None:
|
||||
return None
|
||||
|
||||
try:
|
||||
# 使用pyzbar解码所有条形码/QR码
|
||||
@ -227,31 +217,31 @@ class ImageProcessor:
|
||||
print(f"QR码解码错误: {str(e)}")
|
||||
return None
|
||||
|
||||
def decode_all_qrcodes(self, img=None):
|
||||
"""解码图像中的所有QR码/条形码"""
|
||||
if img is None:
|
||||
img = self.get_current_image()
|
||||
# def decode_all_qrcodes(self, img=None):
|
||||
# """解码图像中的所有QR码/条形码"""
|
||||
# if img is None:
|
||||
# img = self.get_current_image()
|
||||
|
||||
if img is None:
|
||||
return []
|
||||
# if img is None:
|
||||
# return []
|
||||
|
||||
try:
|
||||
decoded_objects = pyzbar.decode(img)
|
||||
results = []
|
||||
# try:
|
||||
# decoded_objects = pyzbar.decode(img)
|
||||
# results = []
|
||||
|
||||
for obj in decoded_objects:
|
||||
result = {
|
||||
'data': obj.data.decode('utf-8'),
|
||||
'type': obj.type,
|
||||
'rect': obj.rect, # 位置信息 (x, y, width, height)
|
||||
'polygon': obj.polygon # 多边形顶点
|
||||
}
|
||||
results.append(result)
|
||||
# for obj in decoded_objects:
|
||||
# result = {
|
||||
# 'data': obj.data.decode('utf-8'),
|
||||
# 'type': obj.type,
|
||||
# 'rect': obj.rect, # 位置信息 (x, y, width, height)
|
||||
# 'polygon': obj.polygon # 多边形顶点
|
||||
# }
|
||||
# results.append(result)
|
||||
|
||||
return results
|
||||
except Exception as e:
|
||||
print(f"批量QR码解码错误: {str(e)}")
|
||||
return []
|
||||
# return results
|
||||
# except Exception as e:
|
||||
# print(f"批量QR码解码错误: {str(e)}")
|
||||
# return []
|
||||
|
||||
def start_async_scan(self, interval=0.3):
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user