Пример #1
0
def square_circle_on_1_2_in_path(path):
    for i in range(6):
        im, im_cp = moil.read_and_size_with_copy(str(i), path=path, scale=0.2)

        im = equalize_border_with_mean_or_val(im)

        h, w = np.shape(im)
        r = (int)(h / 8)
        img_sqd = square_circle_difference_filter_2d(im, r)
        # img_sqd = square_circle_minus_filter_2d(im, r)
        # img_sqd = circle_filter_2d(im)

        img_sqd = cv2.equalizeHist(img_sqd)

        ret, imt = cv2.threshold(img_sqd, 250, 255, cv2.THRESH_BINARY)
        cv2.imshow('win2', im_cp)
        cv2.imshow('win32', img_sqd)
        moil.show(imt)
        '''imt2,cnt, hier = cv2.findContours(imt, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
Пример #2
0
def square_circle_on_1_2_in_path(path):
    for i in range(2):
        im, im_cp = moil.read_and_size_with_copy(str(i), scale=0.15)

        im = cf.equalize_border_with_mean_or_val(im)

        img_sqd = cf.square_circle_minus_filter_2d(im)

        img_sqd = cv2.equalizeHist(img_sqd)

        ret, imt = cv2.threshold(img_sqd, 254, 255, cv2.THRESH_BINARY)

        imt2, cnt, hier = cv2.findContours(imt, cv2.RETR_TREE,
                                           cv2.CHAIN_APPROX_SIMPLE)
        h, w = np.shape(im)
        r = (int)(h / 10)
        for j in range(len(cnt)):
            temp = cnt[j]
            M = cv2.moments(temp)
            cx = int(M['m10'] / M['m00'])
            cy = int(M['m01'] / M['m00'])

            cv2.circle(im_cp, (cx, cy), r)
Пример #3
0
def trackback_callback(x):
    global track_val
    track_val = x


def track(name, max, start=0, win='win'):
    cv2.createTrackbar(name, win, start, max, trackback_callback)


def get_track(name, win='win'):
    return cv2.getTrackbarPos(name, win)


for i in range(get_number_of_images_in_path(path)):

    im, im_cp = moil.read_and_size_with_copy(str(i), scale=0.15)

    cf.equalize_border_with_mean_or_val(im)

    negative = False
    if i >= 2 and i <= 5:
        negative = True

    track('thresh', 255)
    track('r', 100)

    while (cv2.waitKey(30) != ord('q')):
        img = cf.circle_filter_2d(im, get_track('r') + 1)
        img_sqd = cf.square_circle_minus_filter_2d(im,
                                                   get_track('r') + 1,
                                                   negative)