コード例 #1
0
def comparison(img1, img2):
    init_db()
    color1 = get_images(img1)
    color2 = get_images(img2)
    c1 = sorted([
        [
            int(color1[0][1:3], 16),
            int(color1[0][3:5], 16),
            int(color1[0][5:7], 16)
        ],
        [
            int(color1[1][1:3], 16),
            int(color1[1][3:5], 16),
            int(color1[1][5:7], 16)
        ],
        [
            int(color1[2][1:3], 16),
            int(color1[2][3:5], 16),
            int(color1[2][5:7], 16)
        ],
    ])

    c2 = sorted([
        [
            int(color2[0][1:3], 16),
            int(color2[0][3:5], 16),
            int(color2[0][5:7], 16)
        ],
        [
            int(color2[1][1:3], 16),
            int(color2[1][3:5], 16),
            int(color2[1][5:7], 16)
        ],
        [
            int(color2[2][1:3], 16),
            int(color2[2][3:5], 16),
            int(color2[2][5:7], 16)
        ],
    ])
    # np.linalg.norm это функция вычисления дистанции между векторами
    res = [
        np.linalg.norm(np.asarray(c1[0]) - np.asarray(c2[0])),
        np.linalg.norm(np.asarray(c1[1]) - np.asarray(c2[1])),
        np.linalg.norm(np.asarray(c1[2]) - np.asarray(c2[2])),
    ]

    n_c = get_index(img1)
    n_f = get_index(img2)

    if np.linalg.norm(res) < 56 and n_f >= n_c and n_f - n_c <= 3:
        return True
    else:
        False
コード例 #2
0
import random
import base

db = base.init_db()
def send_message(init,user_id,message,keyboard=None):
    if keyboard:
        init.messages.send(user_id=user_id,message=message,keyboard=keyboard,random_id=random.randrange(1,2147483647))
    else:
        init.messages.send(user_id=user_id,message=message,random_id=random.randrange(1,2147483647))


def get_collection(db,collection):
    return db.KCPT.collection.find()


def get_info(collection,user_id):
    return db.KCPT.collection.find_one({"user_id":int(user_id)})

コード例 #3
0
ファイル: main.py プロジェクト: bigildar/image_selector
import shutil
import random
import numpy as np
from image import CalcImageHash  # Функция вычисления хеша картинок
from color import colorz  # Функция поиск доминирующих цветов
from base import init_db  # Бза данных
from base import add_images  # Функция БД. Добавление картинки в базу
from base import get_images  # Функция БД. Взятие картинки из базы
from base import get_index  # Функция БД. Взятие индекса картинки из базы
from base import find_hash  # Функция БД. Поиск хеша картинки в базе
from base import add_list  # Функция БД. Добавление списка картинок в альбоме
from base import get_list  # Функция БД. Взяие списка картинок в альбоме
from base import count_id  # Функция БД. Счетчик записей в базе
from comparison_color import comparison  # Функция сравнения цвета

init_db(True)

path = ""  # Путь откуда берем картинки
path_to = ""  # Путь куда кдалем их после обработки

##############################################
# # В этой части берем картинки из дериктории, находим хеш и доминирующие цвета и заносим в базу
a = os.listdir(path)
dublikat = 0
for i in a:
    hash = CalcImageHash(path+i)
    if find_hash(hash):
        c = colorz(path+i, n=3)
        c = list(c)
        add_images(i, hash, c[0], c[1], c[2])
        print(i)
コード例 #4
0
def init():
    init_db()
コード例 #5
0
import io
import ipfshttpclient
import matplotlib.pyplot as plt
import pytest
import qrcode
import os

app = Flask(__name__)
babel = Babel(app)
translator = Translator()
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
test_address = os.environ.get('TEST_ADDRESS')
private_key = os.environ.get('PRIVATE_KEY')
web3 = Web3(Web3.HTTPProvider(os.environ.get('ROPSTEN_URL')))
valorUDC = cryptocompare.get_price('ETH').get('ETH').get('EUR')
init_db()
app.secret_key = os.environ.get("PRIVATE_KEY")
app.config["PRIVATE_KEY"] = app.secret_key

oauth = OAuth(app)
google = oauth.register(
    name='google',
    client_id=os.environ.get('GOOGLE_CLIENT_ID'),
    client_secret=os.environ.get('GOOGLE_CLIENT_SECRET'),
    access_token_url='https://accounts.google.com/o/oauth2/token',
    access_token_params=None,
    authorize_url='https://accounts.google.com/o/oauth2/auth',
    authorize_params=None,
    api_base_url='https://www.googleapis.com/oauth2/v1/',
    userinfo_endpoint='https://openidconnect.googleapis.com/v1/userinfo',
    client_kwargs={'scope': 'openid email profile'},
コード例 #6
0
ファイル: models.py プロジェクト: elshobaky/MeX-LMS
        logging.info('calculating members fines .....')
        today = datetime.datetime.now().date()
        filters = [self.active == True]
        filters.append(self.end < today)
        borrows = []
        with self().session() as session:
            try:
                borrows = session.query(self)
                for f in filters:
                    borrows = borrows.filter(f)
                # print borrows.count()
                borrows = borrows.all()
                session.expunge_all()
            except Exception as e:
                logging.error(e)
                return
        for b in borrows:
            try:
                fine = today - b.end
                fine = fine.days * FINE
                # print fine
                member = Member.by_id(b.member_id)
                # fine += int(member.fine) if member.fine.isdigit() else 0
                member.update(fine=fine)
            except Exception as e:
                logging.error(e)
        logging.info('members fines calculated')

if __name__ == '__main__':
    init_db()