체스 판에서 무인 항공기의 위치를 알기 위해 AR Drone의 하단 카메라를 사용하여 QR 코드를 감지합니다. 무인 항공기는 체스 판 위에 놓여 있는데, 각 정사각형은 위치를 지닌 QR 코드 (예 : A1, C5, E7 등)입니다. 특정 키를 누르면 QR 코드를 스캔하여 위치로 되돌립니다.OpenCV, Python 및 zbar를 사용하여 단일 QR 코드를 검색하는 방법
지금 당장은 많은 QR 코드 하나를 감지하고 싶습니다. 무인 항공기는 여러 개의 QR 코드를 가지고있을 가능성이 있기 때문에 가능합니다. 무인 항공기가 어느 정사각형에 있는지, 또는 적어도 가장 가까운 정사각형을 알아야하기 때문에 (예 : A1보다 2/3, A2보다 1/3은 A1이어야 함). 현재 사용중인 코드는 다음과 같습니다.
#!/usr/bin/python
from sys import argv
import zbar
import Image
import cv2
class DetectQRCode(object):
@classmethod
def detect_qr(self, image):
# create a reader
scanner = zbar.ImageScanner()
# configure the reader
scanner.parse_config('enable')
# obtain image data
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY,dstCn=0)
pil = Image.fromarray(gray)
width, height = pil.size
raw = pil.tostring()
# wrap image data
image = zbar.Image(width, height, 'Y800', raw)
# scan the image for barcodes
scanner.scan(image)
# extract results
for symbol in image:
# do something useful with results
if symbol.data == "None":
return "Drone bevindt zich buiten het raster"
else:
return symbol.data
OpenCV, Python을 사용하여이 작업을 수행 할 수 있습니까? zbar에 사용할 수있는 것이 있습니까?