예제 #1
0
import cv2
import numpy as np
import openimg
import immask


def prewitt_mask(mode=0):
    mask = [[[-1, 0, 1], [-1, 0, 1], [-1, 0, 1]],
            [[1, 1, 1], [0, 0, 0], [-1, -1, -1]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('Lenna.png')

    new_img = immask.img_mask(img, prewitt_mask(), 'embossing')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
import cv2
import numpy as np
import openimg
import immask


def gaussian_smooth_mask(mode=0):
    mask = [[[1 / 16, 1 / 8, 1 / 16], [1 / 8, 1 / 4, 1 / 8],
             [1 / 16, 1 / 8, 1 / 16]],
            [[1 / 273, 4 / 273, 7 / 273, 4 / 273, 1 / 273],
             [4 / 273, 16 / 273, 26 / 273, 16 / 273, 4 / 273],
             [7 / 273, 26 / 273, 41 / 273, 26 / 273, 7 / 273],
             [4 / 273, 16 / 273, 26 / 273, 16 / 273, 4 / 273],
             [1 / 273, 4 / 273, 7 / 273, 4 / 273, 1 / 273]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')
    new_img = immask.img_mask(img, gaussian_smooth_mask(1))
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
예제 #3
0
import cv2
import numpy as np
import openimg
import immask


def highpass_mask():
    mask = [[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]]
    return mask


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')

    new_img = immask.img_mask(img, highpass_mask(), 'highpass')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
예제 #4
0
import cv2
import numpy as np
import openimg
import immask


def laplacian_mask(mode=0):
    mask = [[[0, -1, 0], [-1, 4, -1], [0, -1, 0]],[[0, 1, 0], [1, -4, 1], [0, 1, 0]], [[-1, -1, -1],
                                                   [-1, 8, -1], [-1, -1, -1]],[[1, -2, 1], [-2, 4, -2], [1, -2, 1]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('Lenna.png')

    new_img = immask.img_mask(img, laplacian_mask(), 'embossing')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
import cv2
import numpy as np
import openimg
import immask


def shapening_mask(mode=0):
    mask = [[[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]],
            [[0, -1, 0], [-1, 5, -1], [0, -1, 0]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')

    new_img = immask.img_mask(img, shapening_mask())
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
예제 #6
0
import cv2
import numpy as np
import openimg
import immask


def embossing_mask(mode=0):
    mask = [[[-1, -1, 0], [-1, 0, 1], [0, 1, 1]],
            [[-1, 0, 0], [0, 0, 0], [0, 0, 1]],
            [[1, 0, 0], [0, 0, 0], [0, 0, -1]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')

    new_img = immask.img_mask(img, embossing_mask(), 'embossing')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
예제 #7
0
import cv2
import numpy as np
import openimg
import immask


def roberts_mask(mode=0):
    mask = [[[0, 0, -1], [0, 1, 0], [0, 0, 0]],
            [[-1, 0, 0], [0, 1, 0], [0, 0, 0]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('Lenna.png')

    new_img = immask.img_mask(img, roberts_mask(), 'embossing')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
import cv2
import numpy as np
import openimg
import immask


def highboost_mask(a=1):
    mask = [[1 / 9, 1 / 9, 1 / 9], [1 / 9, 1 / 9, 1 / 9],
            [1 / 9, 1 / 9, 1 / 9]]

    return mask


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')

    new_img = immask.img_mask(img, highboost_mask(), 'highboost')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
예제 #9
0
import cv2
import numpy as np
import openimg
import immask
import laplacian
import 가우시안스무딩

if __name__ == '__main__':
    img = openimg.gray_imload('Lenna.png')

    new_img = immask.img_mask(
        immask.img_mask(img, 가우시안스무딩.gaussian_smooth_mask()),
        laplacian.laplacian_mask(1), 'embossing')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
예제 #10
0
import cv2
import numpy as np
import openimg
import immask


def sobel_mask(mode=0):
    mask = [[[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]], [[1, 2, 1],
                                                   [0, 0, 0], [-1, -2, -1]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('Lenna.png')

    new_img = immask.img_mask(img, sobel_mask(), 'embossing')
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

            random_noise = std * std_norm  # 기준값과 곱해 노이즈생성
            new_pixel = img[x, y] + random_noise  # 영상에 노이즈 삽입
            if 0 <= new_pixel <= 255:
                new_img[x, y] = new_pixel
    return new_img


def highboost_mask(mode=0):
    mask = [[[1 / 9, 1 / 9, 1 / 9], [1 / 9, 1 / 9, 1 / 9],
             [1 / 9, 1 / 9, 1 / 9]],
            [[1 / 16, 2 / 16, 1 / 16], [2 / 16, 4 / 16, 2 / 16],
             [1 / 16, 2 / 16, 1 / 16]],
            [[1 / 256, 4 / 256, 6 / 256, 4 / 256, 1 / 256],
             [4 / 256, 16 / 256, 24 / 256, 16 / 256, 4 / 256],
             [6 / 256, 24 / 256, 36 / 256, 24 / 256, 6 / 256],
             [4 / 256, 16 / 256, 24 / 256, 16 / 256, 4 / 256],
             [1 / 256, 4 / 256, 6 / 256, 4 / 256, 1 / 256]]]

    return mask[0]


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')
    noise_img = add_gaussian(img)
    new_img = immask.img_mask(noise_img, highboost_mask())
    cv2.imshow('img', img)
    cv2.imshow('noise', noise_img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
예제 #12
0
import cv2
import numpy as np
import openimg
import immask
import laplacian
import 가우시안스무딩

if __name__ == '__main__':
    img = openimg.gray_imload('Lenna.png')

    new_img = immask.img_mask(
        img, 가우시안스무딩.gaussian_smooth_mask()) - immask.img_mask(
            img, 가우시안스무딩.gaussian_smooth_mask(1))
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
import cv2
import numpy as np
import openimg
import immask


def blurring_mask(mode=0):  #블러링 마스크
    mask = [[[1 / 9, 1 / 9, 1 / 9], [1 / 9, 1 / 9, 1 / 9],
             [1 / 9, 1 / 9, 1 / 9]],
            [[1 / 25, 1 / 25, 1 / 25, 1 / 25, 1 / 25],
             [1 / 25, 1 / 25, 1 / 25, 1 / 25, 1 / 25],
             [1 / 25, 1 / 25, 1 / 25, 1 / 25, 1 / 25],
             [1 / 25, 1 / 25, 1 / 25, 1 / 25, 1 / 25],
             [1 / 25, 1 / 25, 1 / 25, 1 / 25, 1 / 25]]]
    return mask[mode]


if __name__ == '__main__':
    img = openimg.gray_imload('howell.jpg')
    new_img = immask.img_mask(img, blurring_mask(1))
    cv2.imshow('img', img)
    cv2.imshow('new_img', new_img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()