def select_roi(image=None):
    image = get_image(image)
    roi = image[2200:2500, 1500:1700]
    print(roi)
    # Cropped and pasted a region in another part of image
    image[100:400, 100:300] = roi
    display_image(image)
def display_channel(image=None, channel=0):
    image = get_image(image)
    img_copy = image.copy()
    for i in range(0, 3):
        if i == channel:
            continue
        img_copy[:, :, i] = 0
    display_image(img_copy)
Exemple #3
0
def image_transition(img, prev_img):
    display_image(prev_img, wait_key=3000, destroy_windows=False)
    img = cv2.resize(img, (1600, 900))
    prev_img = cv2.resize(prev_img, (1600, 900))
    print("resized images")
    for alpha in range(0, 6):
        mix = cv2.addWeighted(prev_img, (5 - alpha) / 5.0, img, alpha / 5.0, 0)
        display_image(mix, wait_key=50, destroy_windows=False)
def open_cv_logo(img=None):
    img = get_image(img)
    img = cv2.ellipse(img, (200, 100), (50, 50), 145, 250, 0, (0, 0, 255),
                      50)  # Red
    img = cv2.ellipse(img, (120, 220), (50, 50), 0, 250, 0, (0, 255, 0),
                      50)  # Green
    img = cv2.ellipse(img, (280, 220), (50, 50), 320, 250, 0, (255, 0, 0),
                      50)  # Blue
    display_image(img)
Exemple #5
0
def slideshow(dir_path):
    files = get_files_in_folder(dir_path)
    prev_img = None
    for file_ in files:
        # Display only jpg files
        if file_.endswith(".jpg"):
            img = cv2.imread(os.path.join(dir_path, file_))
            if prev_img is not None:
                print("transitioning image: {}".format(file_))
                image_transition(img, prev_img)
            else:
                print("displaying image: {}".format(file_))
                display_image(img, wait_key=2000, destroy_windows=False)
            prev_img = img
        else:
            print("File: {} will not be displayed".format(file_))
Exemple #6
0
def paste_logo_over_image(img1, img2):
    # Creating region of interest
    rows, cols, channels = img2.shape
    roi = img1[0:rows, 0:cols]

    # Create mask of logos and its inverse mask.
    img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
    ret, mask = cv2.threshold(img2gray, 10, 255,
                              cv2.THRESH_BINARY)  # This will enhance contrast thus showcasing logo in white
    inv_mask = cv2.bitwise_not(mask)

    # Blackout area of logo in ROI
    img1_bg = cv2.bitwise_and(roi, roi, mask=inv_mask)
    img2_fg = cv2.bitwise_and(img2, img2, mask=mask)

    # Put log in image
    dst = cv2.add(img1_bg, img2_fg)
    img1[0:rows, 0:cols] = dst

    display_image(img1)
def splitting_channels(image=None):
    image = get_image(image)
    b, g, r = cv2.split(image)
    print(b.shape)
    # Displaying only a channel will display a grey image
    display_image(b)