Example #1
0
def collect_base():
    tmp_folder = r'D:\coding\senderbot\grabbed_once'
    for img in Grabber.get_list_of_files(tmp_folder, '.jpg'):
        base_directory = os.path.join(os.path.dirname(__file__), 'base')
        table = compare_to_base(img)
        img_file = os.path.join(tmp_folder, img)
        locate_probable(table, base_directory, img_file)
Example #2
0
def test_all_rms():
    #img = Image.open(r'C:\tempme\data\6cfabbc7b2a1f6fc9734b0cc2fffdb30.jpg')
    #c = ImageComparer.resize_to_grayscale(img, size=20)
    #c.save(r'C:\tempme\res.jpg')

    for f1 in Grabber.get_list_of_files(r'C:\tempme\data', '.jpg'):
        #print(f1, '----------')
        lst = []
        for f2 in Grabber.get_list_of_files(r'C:\tempme\grabbed_once', '.jpg'):
            ff1 = Image.open(f1)
            ff2 = Image.open(f2)
            c1 = ImageComparer.resize_to_grayscale(ff1, size=30)
            c2 = ImageComparer.resize_to_grayscale(ff2, size=30)
            icmp = ImageComparer(c1, c2)
            lst.append(icmp.compare())
        k = sorted(lst)
        print(k)
Example #3
0
def try_to_guess():
    tmp_folder = r'D:\coding\senderbot\try'
    counter = 0
    newc = 0
    for img in Grabber.get_list_of_files(tmp_folder, '.jpg'):
        img_file = os.path.join(tmp_folder, img)
        print 'Analyzing file: %s' % img
        tbl = compare_to_base(img_file)
        tbl2 = copy.deepcopy(tbl)
        tbl2 = normalize(tbl2)
        min_coef = 100
        min_avg = 100
        index = None
        for key in tbl:
            min_tmp = min(tbl[key])
            min_avg_tmp = tbl2[key]
            if min_tmp < min_coef and min_avg_tmp < min_avg:
                index = key
                min_coef = min_tmp
                min_avg = min_avg_tmp

        with open(img_file, 'rb') as f:
            image_file = f.read()
            img_hash = hashlib.md5(image_file).hexdigest()


        nfl = '{0}.jpg'.format(img_hash)  # new file name
        if min_coef < 15 and min_avg < 30:
            log.info('Probably: %s with min: %s and average: %s' % (index, min_coef, min_avg))
            base_directory = os.path.join(os.path.dirname(__file__), 'base')
            result_folder = os.path.join(base_directory, index)
            shutil.move(img_file, os.path.join(result_folder, nfl))
            counter += 1
        else:
            log.info('Maybe new, because: %s and avg: %s' % (min_coef, min_avg))
            folder_for_new_unique = r'D:\coding\senderbot\new_unique'
            shutil.move(img_file, os.path.join(folder_for_new_unique, nfl))
            newc += 1

    log.info('added already known pictures to base: %s' % counter)
    log.info('unique pictures here: %s' % newc)