Esempio n. 1
0
 def dataReceived(self, data):
     ba = ByteArray(data)
     print ba.bytesAvailable()
     s = ba.readUnsignedInt()
     print ba.bytesAvailable()
     print s
     s = ba.readUTFBytes(ba.bytesAvailable())
     print s
Esempio n. 2
0
    def open(self, filename):
        source = open(filename, 'rb').read()

        data = zlib.decompress(source)

        reader = ByteArray(data)

        magicCode = reader.readUnsignedInt()

        if magicCode != self.magicCode:
            raise Exception('Magic code invalid!')

        numFiles = reader.readUnsignedShort()

        lengths = []

        for _ in range(numFiles):
            length = reader.readUnsignedInt()

            lengths.append(length)

        names = []

        for _ in range(numFiles):
            lengthBytes = reader.readUnsignedShort()

            name = reader.readMultiByte(lengthBytes)

            names.append(name)

        for i in range(numFiles):
            data = reader.readBytes(lengths[x])

            with open(self.unpackDir + names[x], 'wb') as file:
                print('Writing {0} to disk!'.format(names[i]))
                file.write(data)
def handle(socket, address):

    b = b""
    l = 0
    while True:
        data = socket.recv(8192)
        if len(data) == 0 and check_data(b):
            b = check_data(b)
            break
        # l=len(data)
        b += data
        if check_data(b):
            b = check_data(b)
            break
        if len(data) < l:
            break
        l = len(data)
    global i
    i += 1
    # open("capts/"+str(i)+".bin", "wb").write(b)
    if False:
        print(len(data))
        data = b
        #img_array = np.asarray(b, dtype=np.uint8)
        i = struct.unpack("!i", data[:4])[0]
        print(i)
        data = data[4:i + 4]
        try:
            data = zlib.decompress(data)
        except:
            print("err")
            socket.sendall(struct.pack("!h", 5) + b"ERROR")
    else:
        data = b
    en, boy, pixelSayisi = struct.unpack("!HHH", data[:6])

    data = data[6:]
    print(en, boy, pixelSayisi)
    Pixeller = []
    # for x in range(0,len(data)-4,4):
    #	RGBint=struct.unpack("!i",data[x:x+4])[0]
    #	Blue =  RGBint & 255
    #	Green = (RGBint >> 8) & 255
    #	Red =   (RGBint >> 16) & 255
    #	Pixeller.append((Red,Green,Blue))
    x = 0
    p = ByteArray(data)
    img = Image.new('RGBA', (en, boy), 4294967295)
    pixels = img.load()
    for pix in range(pixelSayisi):
        if len(p.bytes) == 0:
            print("break")
            break
        renk = p.readUnsignedInt()
        pixels[pix % en, pix / en] = renk

    img = img.resize((en * 10, boy * 10), Image.ANTIALIAS)

    background = Image.new("RGB", img.size, (255, 255, 255))
    background.paste(img, mask=img.split()[3])  # 3 is the alpha channel
    global I
    I += 1
    background.save(f"yerler/{I}.jpg", 'JPEG', quality=100)
    img = cv2.imread(f"yerler/{I}.jpg")
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    #img = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY,  51,40)
    #ret3,img = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
    height, width = img.shape
    w = int(width / 4) - 1
    harfler = ""
    acc = 0
    Boyut = 30
    for i in range(4):
        resim = img[0:height, i * w:(i + 1) * w]
        resim = img[0:height, i * w + 10:(i + 1) * w + 10]
        r = None  # ayir(resim)

        #gray = cv2.copyMakeBorder(resim, 8, 8, 8, 8, cv2.BORDER_REPLICATE)
        #ret, threshed_img =  cv2.threshold(resim, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
        # resim=threshed_img
        # break
        letter_image = resize_to_fit(resim, Boyut, Boyut)
        letter_image = np.expand_dims(letter_image, axis=2)
        letter_image = np.expand_dims(letter_image, axis=0)

        prediction = model.predict(letter_image)

        # Convert the one-hot-encoded prediction back to a normal letter
        pr = lb.inverse_transform(prediction)
        letter = pr[0]
        harfler += letter
    c = harfler
    print(c, address)
    os.rename(f"yerler/{I}.jpg", f"yerler/{I}_{c}.jpg")
    socket.sendall(struct.pack("!h", len(c)) + c.encode("utf-8"))