전체 글

· 영상처리
이번 포스팅은 k-means 알고리즘에 대해 알아보고 OpenCV에서 사용하는 k-means Clustering에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/4.5.2/d1/d5c/tutorial_py_kmeans_opencv.html k-평균(k-means) 알고리즘 - k-means 알고리즘은 대표적인 Clustering 알고리즘 중 하나입니다. 1) 각 군집은 하나의 중심(centroid)을 가집니다. 2) 각 개체는 가장 가까운 중심에 할당됩니다. 3) 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성하는 알고리즘입니다. - k(군집 수)를 정해야 알고리즘을 실행할 수 있으며 이는 k가 하이퍼파라미터라는 의미입니다...
· 영상처리
이번 포스팅은 객체 추적 중 하나의 방법인 배경 제거(Background Subtraction)에 대해 알아보겠습니다. 포스팅 관련 내용은 아래에서 출처를 얻어 사용하였습니다. https://docs.opencv.org/3.4/d1/dc5/tutorial_background_subtraction.html Background Subtraction (배경 제거) 배경 제거는 영상에서 객체가 있는 배경에서 객체가 없는 배경을 빼서 출력해주는 것을 말합니다. 이는 객체를 추적할 때 객체가 무엇인지 어디에 있는지 파악하게 해주는 방법입니다. 아래의 그림을 보면 이해가 쉬울 거예요! 위 그림을 보시면 객체(배)가 있는 사진에서 객체(배)가 없는 사진을 빼서 결국 객체만 얻는 것을 볼 수 있습니다. Backgroun..
· Project
이번 프로젝트는 Python과 OpenCV, 그리고 Jupyter를 이용하여 OpenCV의 Detail Enhancing Filter와 Image to PencilSketch, Image to Cartoon Image를 공부한 것을 만들어보았습니다. Description 1) Detail Enhancing Filter cv2.detailEnhance는 이미지의 디테일을 향상시켜주는 함수입니다. cv2.detailEnhance ( InputArray src, OutputArray dst, float sigma_s, float sigma_r)의 구조로 사용합니다. sigma_s는 0 ~ 200 범위로 사용, 이미지가 얼마나 스무스할지 결정하는 파라미터이며 클수록 스무스해집니다. sigma_r은 0 ~ 1 범..
· 영상처리
이번 포스팅은 https://docs.opencv.org/4.5.2/df/d3d/tutorial_py_inpainting.html 을 보고 공부한 것을 정리 했습니다. 1. Inpaint 란? - 오래된 사진에서 작은 노이즈를 제거하는 방법입니다. - OpenCV를 통해 Inpaint 함수를 알아보고 구현해보겠습니다. Inpaint 함수 - python-opencv 에서 inpaint 함수를 사용하기 위한 원형은 - cv2.inpaint(src, inpaintMask, inpaintRadius, flags[, dst]) 입니다. - inpaintMask : 8비트 1채널 이미지 ( 흑백 이미지 ) - inpaintRadius : 알고리즘에 의해 포인트의 circular neighborhood 의 Radi..
이번 포스팅은 파이썬의 lambda 표현식을 공부한 것을 정리했습니다. 람다 형식과 람다 표현식의 여러 가지 함수에 대해 알아보겠습니다. 1. Lambda(람다)란? - 파이썬에서 람다 표현식을 사용하여 이름이 없는 함수를 만들 수 있으며 - 코드의 간결함, 메모리의 절약을 할 수 있습니다. - def를 통해 함수를 생성하는 방법은 리터럴 표기법의 함수 생성 방법입니다. 기본 표현) lambda 인자 : 표현식 예시) 기존의 함수 생성은 def로 했지만 lambda를 사용하면 간결하게 표현할 수 있습니다. def add(x,y): return print(x+y) add(10, 20) - 기존의 def를 이용한 함수 표현 방법 (lambda x,y: print(x+y))(10,20) - 람다 표현식을 이용..
· AI/Pytorch
pytorch의 tensor 기초 조작을 정리 해보았습니다. 1) Pytorch에서 텐서(Tensor)란? - 텐서 : 배열(array)와 행렬(matrix)과 유사한 자료구조로 텐서를 이용하여 모델의 입출력을 합니다. - 텐서는 GPU나 다른 하드웨어 가속기에서 실행하는 점만 제외하면 Numpy의 ndarray와 매우 유사합니다. - 자동미분(Autograd)에 최적화 되어있습니다. 텐서(Tensor) 초기화 import torch import numpy as np - torch와 numpy 라이브러리를 임포트 해준다고 생각하고 이번 포스팅을 진행하겠습니다. 1. 데이터로부터 직접 실행 data = [[1,2],[3,4]] x_data = torch.tensor(data) x_data, type(x_d..
이번 포스팅은 파이썬에서 자료형을 확인하는 함수 isinstance에 대해 공부한 것을 정리하였습니다. - isinstance() 란? - 파이썬에서 ininstance는 인스턴스, 클래스의 특정 타입을 검사하는 함수입니다. - instance(인스턴스/클래스, 자료형)의 형태로 사용하며 결과는 bool로 확인할 수 있습니다. - 즉, 자료형과 같은 타입이면 True를 아니면 False를 반환합니다. 예시) # int형인지 검사 print(isinstance(123, int)) # float형인지 검사 print(isinstance(123, float)) # string형인지 검사 print(isinstance('123', str)) # list형인지 검사 print(isinstance([1,2,3], ..
이번 포스팅은 파이썬을 공부하며 잘 몰랐던 기능인 언패킹에 대해 공부한 것을 정리한 것입니다. 1. 패킹(packing) 이란? - 패킹은 앞서 *args와 **kwargs 게시물에서 정리한 것과 같이 함수에서 여러 개의 매개변수를 쓰기 위해 사용하는 것입니다. - 정리한 링크를 달아놓겠습니다! https://wjunsea.tistory.com/59 [Python] *args와 **kwargs 정리 이번 포스팅은 파이썬을 사용하면서 함수에서 *와 **를 이해하기 위해 작성하는 포스팅입니다. 1. *args 이해 - args는 arguments의 줄임말입니다. 함수 인자로 *args를 대표적으로 쓰지만 다르게 써도 wjunsea.tistory.com 2. 언패킹(unpacking) 이란? - 패킹은 여러 ..
우준세
준세 단칸방