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