Exemplo n.º 1
0
def main():
    s = seg.Thresholding()
    m = mp.Morphology()

    ### questão 1
    img1a = s.otsu(im.Image("Image_(1a).png"))
    img1b = s.otsu(im.Image("Image_(1b).png"))

    imgOR = m.logicalOperator(img1a, img1b, "OR")
    imgOR.save()

    imgAND = m.logicalOperator(img1a, img1b, "AND")
    imgAND.save()

    imgXOR = m.logicalOperator(img1a, img1b, "XOR")
    imgXOR.save()

    imgNAND = m.logicalOperator(img1a, img1b, "NAND")
    imgNAND.save()

    ## questão 2
    img2a = s.otsu(im.Image("Image_(2a).jpg"))
    d_img2a = m.erode(m.erode(m.dilate(img2a)))
    d_img2a.save()

    ### questão 3
    img3a = s.otsu(im.Image("Image_(3a).jpg"))

    d_img3a = m.floodFill(img3a, (0, 0), 1)
    d_img3a.save(extension="floodFill")

    d_img3a.setImg(np.logical_not(d_img3a.arr))
    d_img3a.save(extension="floodFill_inverse")

    img = m.logicalOperator(img3a, d_img3a, "OR")
    img.save(extension="floodFill")

    ### questão 4
    img4a = s.otsu(im.Image("Image_(4a).jpg"))

    d_img4a = m.floodFill(img4a, (0, 0), 1)
    d_img4a = m.dilate(d_img4a)
    d_img4a.setImg(np.logical_not(d_img4a.arr))

    img = m.logicalOperator(img4a, d_img4a, "OR")
    img = m.skeleton(img)

    img.save(extension="skeleton")
Exemplo n.º 2
0
def preProcess(imgs, arr_y=None, norm=True, gray=True, seg=True):
    seg = sg.Thresholding()
    arr = []

    for y, img in enumerate(imgs):
        i = im.Image(img, normalize=norm, gray=gray)

        if norm:
            i = seg.otsu(i)
            bbox = i.bbox()
            i.setImg(i.arr[bbox[0]:bbox[1], bbox[2]:bbox[3]])

        fe = list(i.features())

        if arr_y is not None:
            fe.append(arr_y[y])

        arr.append(fe)
    return arr
Exemplo n.º 3
0
def main():
    ### questão 1
    e = seg.Edge()

    img = im.Image("Image_(1).jpg", noise=1, median=True, gauss=True)
    e_img = e.laplaceofGaussian(img, line=False)
    e_img.save(extension="edge")

    img = im.Image("Image_(1a).jpg", noise=2, median=True)
    e_img = e.laplaceofGaussian(img, line=False)
    e_img.save(extension="edge")

    img = im.Image("Image_(2a).jpg", noise=21, median=True, gauss=True)
    e_img = e.laplaceofGaussian(img, line=False)
    e_img.save(extension="edge_21x")

    ### questão 2
    s = seg.Thresholding()

    img = im.Image("Image_(3a).jpg", noise=2, median=True)
    s_img = s.otsu(img)
    s_img.save(extension="thresholding")

    img = im.Image("Image_(3a).jpg", noise=5, gauss=True)
    s_img = s.otsu(img, edge=True)
    s_img.save(extension="edge_thresholding")

    img = im.Image("Image_(3b).jpg", noise=3, median=True, gauss=True)
    s_img = s.otsu(img)
    s_img.save(extension="thresholding")

    img = im.Image("Image_(3b).jpg", noise=41, median=True, gauss=True)
    s_img = s.otsu(img, edge=True)
    s_img.save(extension="edge_thresholding")

    img1 = s.otsu(im.Image("Image_(3b).jpg", noise=41, median=True,
                           gauss=True),
                  edge=True)
    img2 = s.otsu(im.Image("Image_(3b).jpg", noise=3, median=True, gauss=True))
    img1.setImg(np.multiply(img1.arr, img2.arr))
    img1.save(extension="thresholding_mescle")