2014-01-16 2 views
5

У меня есть отсканированные файлы изображений, которые я выполнить некоторую предварительную обработку и получить их ищут что-то вроде этого:Использование ImageMagick/Zbar читать QR-коды

QR Code Image

приложение Zbar моего телефона может читать этот QR-код штраф, но zbarimg, похоже, не в состоянии понять это. Я пробовал всевозможные вещи в ImageMagick, чтобы сделать его более плавным (-smooth, -morphology), но даже с немного более красивыми результатами, zbarimg все еще выглядит пустым.

Почему ZBar моего телефона был бы намного лучше, чем мой компьютер (zbar-0.10)? Есть ли что-нибудь, что я могу сделать, чтобы получить zbarimg, чтобы прочитать это успешно?

ответ

2

Вы можете попробовать морфологическое закрытие. Код

Python:

# -*- coding: utf-8 -*- 
import qrtools 
import cv2 
import numpy as np 

imgPath = "Fdnm1.png" 

img = cv2.imread(imgPath, 0) 
kernel = np.ones((5, 5), np.uint8) 
processed=cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel) 
cv2.imwrite('test.png', processed) 
d = qrtools.QR(filename='test.png') 
d.decode() 
print d.data 

Результат:

1MB24