示例#1
0
def estoTeSacaUnaListaDeSlides(slides):
    picsVerticales = []
    for line in fileinput.input():
        if not fileinput.isfirstline():  #a tomar viento la primera linea
            separada = line[:len(line) - 1].split(' ')  # Separamos por ' '
            fila = fileinput.lineno()  # n de fila
            picLeido = Pic(fila - 2, separada)  # construyo el leido...
            if (picLeido.orientation()):
                picsVerticales.append(picLeido)
            else:
                slides.append(Slide(picLeido))  # y lo anado a la lista
    unirVerticales(slides, picsVerticales)
def estoTeSacaUnaListaDeSlides(slides):
    picsVerticales = []
    for line in fileinput.input():
        if not fileinput.isfirstline():  #a tomar viento la primera linea
            separada = line[:len(line) - 1].split(' ')  # Separamos por ' '
            fila = fileinput.lineno()  # n de fila
            picLeido = Pic(fila - 2, separada)  # construyo el leido...
            if (picLeido.orientation()
                ):  # es vertical, pa la lista de verticales
                picsVerticales.append(picLeido)
            else:  # no lo es, a los slides directo
                slides.append(Slide(picLeido))
    # unimos lo verticales a los slides, maximizando tags
    unirVerticales(slides, picsVerticales)
示例#3
0
    def crop_to_avg_proportion(cls, limit):
        directory = "./data/train"
        _, _, _, _, avg_height, avg_width = Pic.size_ranges(limit)
        avg_proportion = avg_height / avg_width
        pics = []
        names = []
        for image in os.listdir(directory)[:limit]:
            filepath = directory + "/" + image
            pic = Image.open(filepath)
            numpy_pic = numpy.asarray(pic)
            height, width, _ = numpy_pic.shape

            new_height = width * avg_proportion
            new_width = height * (avg_width / avg_height)
            height_on_both_sides = int(round((height - new_height) / 2))
            width_on_both_sides = int(round((width - new_width) / 2))
            name = re.findall('/.*/.*(/.*)', pic.filename)[0]
            names.append(name)
            if new_height < height:
                pic = Resize.crop(pic, 0, height_on_both_sides, width,
                                  height - (2 * height_on_both_sides))
            elif new_width < width:
                pic = Resize.crop(pic, width_on_both_sides, 0,
                                  width - (2 * width_on_both_sides), height)
            else:
                print 'error'

            pics.append(pic)
        return pics, names
示例#4
0
    def crop_to_avg_proportion(cls, limit):
        directory = "./data/train"
        _, _, _, _, avg_height, avg_width = Pic.size_ranges(limit)
        avg_proportion = avg_height/avg_width
        pics = []
        names = []
        for image in os.listdir(directory)[:limit]:
            filepath = directory + "/" + image
            pic = Image.open(filepath)
            numpy_pic = numpy.asarray(pic)
            height, width, _ = numpy_pic.shape

            new_height = width * avg_proportion
            new_width = height * (avg_width/avg_height)
            height_on_both_sides = int(round((height - new_height)/2))
            width_on_both_sides = int(round((width - new_width)/2))
            name = re.findall('/.*/.*(/.*)', pic.filename)[0]
            names.append(name)
            if new_height < height:
                pic = Resize.crop(pic, 0, height_on_both_sides, width, height-(2*height_on_both_sides))
            elif new_width < width:
                pic = Resize.crop(pic, width_on_both_sides, 0, width-(2*width_on_both_sides), height)
            else:
                print 'error'

            pics.append(pic)
        return pics, names
def a_ver_esa_lectura(pics):
    for line in fileinput.input():
        if not fileinput.isfirstline():  #a tomar viento la primera linea
            # print(line)
            separada = line[:len(line) - 1].split(' ')  # Separamos por ' '
            # print(separada)
            fila = fileinput.lineno()  # n de fila
            picLeido = Pic(fila - 1, separada)  # construyo el leido...
            pics.append(picLeido)  # y lo anado a la lista
示例#6
0
def maximizarTags(elto1: Pic, verticales: list) -> Pic:
    # ESTO ESTA MU FEO
    minIntersec = 10000
    encontrado = False
    elto2 = verticales[0]
    longLista = len(verticales)
    i = 0
    while (not encontrado) and (
            i < longLista):  #esto no es muy pythonesco pero vamos
        elto2 = verticales[i]
        long = len(elto1.tags() & elto2.tags())
        if long < minIntersec:
            minIntersec = long
            if long == 0:
                encontrado = True
        i += 1
    return verticales.pop(i - 1)
def maximizarTags(elto1: Pic, verticales: list) -> Pic:
    # ESTO ESTA MU FEO
    minIntersec = 10000  # vergonzoso
    encontrado = False
    elto2 = verticales[0]  # asignacion de mas
    longLista = len(verticales)
    i = 0  # uf
    while (not encontrado) and (
            i < longLista):  #esto no es muy pythonesco pero vamos
        elto2 = verticales[i]
        lIntersec = len(
            elto1.tags()
            & elto2.tags())  # nº de tags compartidos (interseccion)
        if lIntersec < minIntersec:
            minIntersec = lIntersec
            if lIntersec == 0:  # es el minimo posible, dejamos de buscar
                encontrado = True
        i += 1  # cries in python
    return verticales.pop(
        i - 1)  # devolvemos el elto (y lo quitamos de verticales)
示例#8
0
import sys
from pic import Pic
from classifier import Classifier
from score import error

limit = int(sys.argv[1])
half = limit/2
data, targets = Pic.data(limit)
data = Pic.flatten(data)
data, cv_data = data[:half], data[half:]
targets, cv_targets = targets[:half], targets[half:]
preds = Classifier.predict(data, targets, data)
print error(preds, cv_targets)
#print preds
#print cv_targets
示例#9
0
def site_ico_bind(user_id, pic_id, site_id):
    p = Pic.get(pic_id)
    if p and p.user_id == user_id:
        ico96.set(site_id, pic_id)
示例#10
0
    # The hex filename is just the passed filename
    hfilename = filename
# If it's not HEX or ASM, what is it?
else:
    raise Exception("Unknown file extension")

# If a serial port has not been passed, use the first available one
if len(sys.argv) < 3:
    sport = glob.glob('/dev/ttyUSB*')[0]
    # Otherwise used the passed one
else:
    sport = sys.argv[2]

# Init new HexFile and PIC instances
hf = HexFile(hfilename)

prog = Pic(sport, 9600, 0x03FF)

# Write and verify the hex file to the pic
prog.write_file(hf)
prog.verify_file(hf)

# Write and verify the config word from the hex file to the pic
prog.write_verify_config_file(hf)

# Run the program on the pic
prog.execute()

# Close the connection with the pic
prog.close()
示例#11
0
def pic_to_review_count_by_cid(cid):
    return Pic.where(cid=cid, state=1, admin_id=0).count()
示例#12
0
def test_segments():
    data = Pic.images(1)
    face = Face()
    print type(data[0])
    inners, outers = face.segments(data[0])
    print len(inners), len(outers)
示例#13
0
import sys
from pic import Pic
from classifier import Classifier
from score import error

limit = int(sys.argv[1])
half = limit / 2
data, targets = Pic.data(limit)
data = Pic.flatten(data)
data, cv_data = data[:half], data[half:]
targets, cv_targets = targets[:half], targets[half:]
preds = Classifier.predict(data, targets, data)
print error(preds, cv_targets)
#print preds
#print cv_targets
示例#14
0
def _pic_list_to_review_by_cid(cid, start_id, limit):
    return Pic.where(cid=cid, state=1, admin_id=0).where('id>%s' % start_id).order_by('id')[:limit]
示例#15
0
def pic_reviewed_count_by_cid_state(cid, state):
    return Pic.where(cid=cid, state=state).where('admin_id>0').count()
示例#16
0
def pic_list_reviewed_by_cid_state(cid, state, limit, offset):
    return Pic.where(cid=cid, state=state).where('admin_id>0').order_by('id desc')[offset: offset + limit]
示例#17
0
# We don't need to compile if it's already a HEX file
elif extension == "hex":
    # The hex filename is just the passed filename
    hfilename = filename
# If it's not HEX or ASM, what is it?
else:
    raise Exception("Unknown file extension")

# If a serial port has not been passed, use the first available one
if len(sys.argv) < 3: sport = glob.glob('/dev/ttyUSB*')[0]
# Otherwise used the passed one
else: sport = sys.argv[2]

# Init new HexFile and PIC instances
hf = HexFile(hfilename)

prog = Pic(sport, 9600, 0x03FF)

# Write and verify the hex file to the pic
prog.write_file(hf)
prog.verify_file(hf)

# Write and verify the config word from the hex file to the pic
prog.write_verify_config_file(hf)

# Run the program on the pic
prog.execute()

# Close the connection with the pic
prog.close()
示例#18
0
def test_segments():
    data = Pic.images(1)
    face = Face()
    print type(data[0])
    inners, outers = face.segments(data[0])
    print len(inners), len(outers)
示例#19
0
文件: pico.py 项目: blackKeyMoe/Pico
def create_pic(filenames):
    for filename in filenames:
        pic = Pic(filename)
        yield pic
示例#20
0
def site_ico_bind(user_id, pic_id, site_id):
    p = Pic.get(pic_id)
    if p and p.user_id == user_id:
        ico96.set(site_id, pic_id)