Wie zu erkennen, eine einzelne QR-code mittels OpenCV, Python und zbar
Bin ich mit der unteren Kamera für AR Drone zu erkennen, einen QR-code, um für mich zu wissen, den Aufenthaltsort der Drohne auf einem Schachbrett. Die Drohne schwebt über dem Schachbrett, wobei jedes einzelne Quadrat ist ein QR-code halten der position(z.B. A1, C5, E7, etc.). Wenn ich drücken Sie eine bestimmte Taste, es scannt den QR-code und gibt mir die position.
Gerade jetzt, ich möchte in der Lage sein zu erkennen, dass eine einzelne QR-code aus vielen. Da es möglich ist, dass die Drohne hat mehrere QR-codes in Sicht. Weil ich muss wissen, welchen genauen Platz der Drohne ist, oder zumindest in der Nähe(zum Beispiel: 2/3 über A1 und 1/3 oberhalb von A2 soll das Ergebnis in A1). Hier ist der code, den ich verwende derzeit:
#!/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
Kann das getan werden, mithilfe von OpenCV, Python? Tut zbar haben etwas, das ich verwenden könnte?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde vorschlagen, der beste Weg, dies zu tun wäre, zu erkennen, alle Grenzen rund um die QR-codes (die größten Plätze) zuerst, dies wird Ihnen eine Liste von QR-codes in einem Bild.
Können Sie Sie Sortieren durch die Liste für die, die am nächsten ist die Drohne in position & führen Sie dann den QR-code-Leser auf, die eigenen QR-code.
Hier ist eine Anleitung, wie zu erkennen Quadrate mit opencv.
& hier ist ein stack-overflow-Frage, die zeigen, wie das erkennen der bounding-box, die zusätzliche Plätze drin sein.
Wenn nach
setzen Sie drucken-symbol.Ort wird es geben die Koordinaten in einem format wie
((334, 407), (497, 424), (512, 272), (340, 251))
Welche gibt die vier Ecken des QR-Codes in Ihre Kamera Bild
Dann kann man das Zentrum koordinieren Sie mit so etwas wie
und den Abstand von der Mitte der Kamera, Bild, wenn das Zentrum ist zu sagen 500,500 mit
und verwenden Sie dann den QR mit der kürzesten Entfernung zum Zentrum