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")
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
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")