Beispiel #1
0
def mkdmtx(msg):
    dm_write = DataMatrix()
    dm_write.encode(msg)
    pi = dm_write.image  # .resize((14, 14))
    cv_im = cv.CreateImageHeader(pi.size, cv.IPL_DEPTH_8U, 3)
    cv.SetData(cv_im, pi.tostring())
    return cv_im
Beispiel #2
0
def mkdmtx(msg):
    dm_write = DataMatrix()
    dm_write.encode(msg)
    pi = dm_write.image # .resize((14, 14))
    cv_im = cv.CreateImageHeader(pi.size, cv.IPL_DEPTH_8U, 3)
    cv.SetData(cv_im, pi.tostring())
    return cv_im
    def __image_generator(self):
        def id_generator(size=16, max_letter=6):
            _str = ''
            _letter_cnt = 0
            for i in range(size):
                if _letter_cnt < max_letter:
                    _c = random.choice(string.ascii_uppercase + string.digits)
                    if _c in string.ascii_uppercase:
                        _letter_cnt += 1
                else:
                    _c = random.choice(string.digits)
                _str += _c
            return _str
        def blur_method(_im, m):
            if m == 0:
                return _im
            elif m == 1:
                return cv2.GaussianBlur(_im, (5, 5), 0)
            elif m == 2:
                return cv2.blur(_im, (5,5))
            elif m == 3:
                return cv2.medianBlur(_im, 5)
            else:
                return _im
        def brightness(_im):
            _brightness_offset = np.random.randint(-50, 50)
            return cv2.convertScaleAbs(_im, alpha=1, beta=_brightness_offset)

        _dmtx = DMTX(shape=3)# shape=3 is 16x16
        while True:
            # 022RDXBTH4001093
            _str = id_generator(16, 2)
            _dmtx.encode(_str)
            _im = np.array(_dmtx.image)# [:,:,::-1]
            _im = cv2.cvtColor(_im, cv2.COLOR_RGB2GRAY)
            _im = cv2.resize(_im, (self.im_shape[1]-12, self.im_shape[0]-12))
            _h, _w = _im.shape[:2]
            # random mirco rotation
            _angle = np.random.randint(-6, 6) / 2.0
            _rot_mat = cv2.getRotationMatrix2D((_w / 2, _h / 2), _angle, 1)
            _im = cv2.warpAffine(_im, _rot_mat, (_w, _h))
            # get label
            _label = cv2.resize(_im, (self.la_shape[1], self.la_shape[0]))
            # low-resolution
            _scale = np.random.choice(range(1, 6))
            _im = cv2.resize(_im, (0,0), fx=1/float(_scale), fy=1/float(_scale))
            _im = cv2.resize(_im, (self.im_shape[1]-12, self.im_shape[0]-12))
            # add border. Need by net. 112 -> 100
            _im = cv2.copyMakeBorder(_im, 6, 6, 6, 6, cv2.BORDER_REPLICATE)
            # add noise
            _im = blur_method(_im, np.random.choice(range(0, 4)))
            _im = brightness(_im)
            # to caffe data format
            _im = _im.astype(np.float32, copy=False)
            _label = _label.astype(np.float32, copy=False)
            _im *= 0.0039215684
            _label *= 0.0039215684

            yield _im, _label
def gen_dmtx():
    def id_generator(size=16, max_letter=6):
        _str = ''
        _letter_cnt = 0
        for i in range(size):
            if _letter_cnt < max_letter:
                _c = random.choice(string.ascii_uppercase + string.digits)
                if _c in string.ascii_uppercase:
                    _letter_cnt += 1
            else:
                _c = random.choice(string.digits)
            _str += _c
        return _str

    _dmtx = DMTX(shape=3)  # shape=3 is 16x16
    while True:
        # 022RDXBTH4001093
        _str = id_generator(16)
        try:
            _dmtx.encode(_str)
        except Exception, e:
            continue
        _im = np.array(_dmtx.image)[:, :, ::-1]
        yield _im
Beispiel #5
0
from pydmtx import DataMatrix
from PIL import Image

# Write a Data Matrix barcode
dm_write = DataMatrix()
dm_write.encode("Hello, world!")
dm_write.save("hello.png", "png")

# Read a Data Matrix barcode
dm_read = DataMatrix()
img = Image.open("hello.png")

print dm_read.decode(img.size[0], img.size[1], buffer(img.tostring()))
print dm_read.count()
print dm_read.message(1)
print dm_read.stats(1)
Beispiel #6
0
digest.update(cryptimage.compress_key(ecpubkey))
fingerprint = digest.digest()

# NID_X9_62_prime256v1
ephemeral = EC.gen_params(EC.NID_X9_62_prime256v1)
ephemeral.gen_key()
ephpub=cryptimage.strip_asn1(ephemeral.pub().get_der())
ephpub=cryptimage.compress_key(ephpub)

shared = ephemeral.compute_dh_key(ecpub.pub())

#strip second half of key which is y cordinates and can be derived from first half
dk=cryptimage.KDF(shared[:len(shared)/2],128,fingerprint)

if debug: sys.stderr.write("dk = %s\n" % binascii.b2a_hex(dk))

account="2000111122223333"
amount="1500050"
pin="7654"

data=cryptimage.dataencode(account,amount,pin)
ct = cryptimage.encrypt_data(dk,data)

message = cryptimage.build_message(ephpub, ct)

dm_write = DataMatrix(scheme=DataMatrix.DmtxSchemeBase256)
dm_write.encode(message)
dm_write.save("dm.png", "png")

sys.exit(0)
Beispiel #7
0
 def writeDM(self):
     # Write a Data Matrix barcode
     dm_write = DataMatrix()
     dm_write.encode("Hello, world!")
     dm_write.save("hello.png", "png")
     return
Beispiel #8
0
import os
from pydmtx import DataMatrix
from PIL import Image

#------------------------------------------------------------
# write a data matrix barcode
#------------------------------------------------------------
path = os.path.abspath('.')
path = os.path.join(path, 'hello.png')

matrix = DataMatrix()
matrix.encode("Hello, world!")
matrix.save(path, "png")

#------------------------------------------------------------
# read a data matrix Barcode
#------------------------------------------------------------
matrix = DataMatrix()
image  = Image.open(path)

print matrix.decode(image.size[0], image.size[1], buffer(image.tostring()))
print matrix.count()
print matrix.message(1)
print matrix.stats(1)
Beispiel #9
0
#!/usr/bin/python
from PIL import Image
from pydmtx import DataMatrix
import sys
import cv2.cv as cv

#Decoding data OpenCV
img  = cv.LoadImage(sys.argv[1])
dm = DataMatrix()
print dm.decode(img.width, img.height, img.tostring())

sys.exit(0)

#Decoding data
img = Image.open(sys.argv[1])
if img.mode != 'RGB':
   img = img.convert('RGB')
   
  dm = DataMatrix()

print dm.decode(img.size[0], img.size[1], buffer(img.tostring()))



'''
#Encode Data
dm.encode("Hello World")
dm.save("test.jpg","jpeg")
'''