인공지능/Computer Vision 8

[CV - Python] 가우시안 필터의 성질

가우시안 필터는 이미지의 전체적인 구조를 떨어뜨리지 않고, 유지하면서 스케일을 크게하는 효과를 가지고 있다. 즉 샘플링에 따른 이미지 정보의 손실을 최소화 하면서, 해당 스케일에서의 이미지 구조를 잘 보존하고 있다. 지금까지 알려진 필터 중에는 가우시안 필터가 유일하다고 한다. 아래는 가우시안 필터를 적용했을 때, 250, : 픽셀들을 그래프로 나타낸 코드이다. import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread('Lenna.png', cv2.IMREAD_GRAYSCALE) img = cv2.resize(img, (500, 700)) fig, ax = plt.subplots(2, 3, figsize = (9, 9))..

[CV - Python] Gaussian Filtering

코드가 다소 부정확 할 수 있습니다. import cv2 import numpy as np def gaussian_distribution(sigma = 1) -> np.array: x, y = np.meshgrid(np.arange(-4, 5), np.arange(-4, 5)) z = np.exp(-((np.square(x) / (2 * np.square(sigma)) + (np.square(y) / (2 * np.square(sigma)))))) / (2 * np.pi * sigma * sigma) z = np.sum(z, axis = 1) / 2 return z img = cv2.imread('Lenna.png', cv2.IMREAD_GRAYSCALE) img = cv2.resize(img, (500..

[CV - python] 2D Partial Derivative for Edge Detection (엣지 검출을 위한 2차원 편미분)

코드가 궁금하다면 댓글을 남겨주세요. import numpy as np import cv2 img = cv2.imread('test4.jpg', cv2.IMREAD_GRAYSCALE) img = cv2.resize(img, (400, 600)) new_x = np.zeros(img.shape) new_y = np.zeros(img.shape) img = np.pad(img, (1, 1), 'constant', constant_values = 0) mask_x = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]]) mask_y = np.array([[1, 2, 1], [0, 0, 0], [-1, -2, -1]]) for i in range(1, img.shape[0] - m..

[CV] Camera & Optics

앞의 글을 읽으시면 이해에 도움이 됩니다. 2022.09.22 - [Computer Science/Computer Vision] - [CV] 빛의 속성 (Properties of Light) [CV] 빛의 속성 (Properties of Light) 1. What is Light?, Light Field EMR (Electromagnetic radiation)은 공간의 길을 따라 이동합니다. 이때 \(\lambda\)를 알고 있으면 R(\(\lambda\))를 통해 power을 알 수 있다고 합니다. 아무튼 여기서 나오는.. hi-guten-tag.tistory.com 1. Camera Structure 카메라의 구조와 용어에 대해 간략하게 알아보겠습니다. 카메라는 사람의 눈을 그대로 재현했다고 할 수 ..

[CV] 빛의 속성 (Properties of Light)

1. What is Light?, Light Field EMR (Electromagnetic radiation)은 공간의 길을 따라 이동합니다. 이때 \(\lambda\)를 알고 있으면 R(\(\lambda\))를 통해 power을 알 수 있다고 합니다. 아무튼 여기서 나오는 함수 하나가 있는데 Plenoptic Function입니다. Plenoptic Function은 공간 상의 한 점을 통과하는 빛의 세기 정보를 표현하기 위해서, 빛이 통과되는 3차원의 위치, 각도, 빛의 파장, 시간 등의 변수를 필요로 합니다. \(p = R(X, Y, Z, \theta, \phi, \lambda, t)\) 이런 수식으로 나타납니다. X, Y, Z는 공간상의 3차원의 위치이고, \(\theta, \phi\)는 빛의 ..

[CV] sparse dictionary learning

https://bskyvision.com/entry/%EC%8A%A4%ED%8C%8C%EC%8A%A4-%EC%82%AC%EC%A0%84-%ED%95%99%EC%8A%B5sparse-dictionary-learning%EC%9D%98-%EA%B9%8A%EC%9D%B4-%EC%9E%88%EC%9C%BC%EB%A9%B4%EC%84%9C%EB%8F%84-%EC%89%AC%EC%9A%B4-%EC%9D%B4%ED%95%B4 스파스 사전 학습(sparse dictionary learning)의 깊이 있으면서도 쉬운 이해 오늘은 최근에 논문을 보면서 관심이 생긴 스파스 사전 학습(sparse dictionary learning)에 대해 정리하려고 한다. 스파스 사전 학습은 스파스 코딩(sparse coding)이라는 ..