Files
probody/public/shablons/qr.txt
T

27 lines
1000 B
Plaintext

class QrDetect():
def __init__(self):
self.qr_data = ''
def getQrData(self):
return self.qr_data
def qr_detection(self,data):
'''сканирование qr кода'''
if self.qr_data!= '':
return
cv_image = bridge.imgmsg_to_cv2(data, 'bgr8')
barcodes = pyzbar.decode(cv_image)
if barcodes:
self.qr_data = barcodes[0].data.decode('utf-8')
#в MAIN для вызова функции необходимо следующее:
#1. создаём и вызываем подписчика, который вызывает функцию чтения кьюаркода
qd = QrDetect()
qr_sub = rospy.Subscriber('main_camera/image_raw',Image, qd.qr_detection,queue_size=1)
#2. задаём время работы подписчика (за 1 секунду примерно 20 раз вызывается функция)
rospy.sleep(2)
#3. выключаем подписчика
qr_sub.unregister()