본문 바로가기

728x90
반응형

분류 전체보기

(273)
[Computer Vision] 에지(Edge) 검출 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 영상에서 에지(edge)는 한쪽 방향으로 픽셀 값이 급격하게 바뀌는 부분을 가리킨다. 즉, 어두운 영역에서 갑자기 밝아지거나 또는 반대로 밝은 영역에서 급격하게 어두워지는 부분을 에지라고 한다. 일반적으로 객체와 배경의 경계, 또는 객체와 다른 객체의 경계에서 에지가 발생한다. 이러한 에지를 찾아내는 작업은 영상 내 객체의 윤곽을 알아낼 수 있는 유용한 방법이며, 다양한 Computer Vision 시스템에서 객체 판별을 위한 전처리로 에지 검출이 사용된다. 기본적으로 영상에서 에지를 찾아내려면 픽셀 값의 변화율이 큰 픽셀을 선택해야 한다.수학에서 함수 또는 데이터의 변화율을 미분(derivative)이라고 한다.영..
[Computer Vision] 영상의 기하학적 변환 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 영상의 기하학적(Geometric Transform)은 영상을 구성하는 픽셀의 배치 구조를 변경함으로써 전체 영상의 모양을 바꾸는 작업이다. 이전 필터링은 픽셀의 위치를 고정하고 픽셀의 값을 변경하였지만 기하학적 변환은 픽셀 값은 그대로 유지하면서 위치를 변경하는 작업이다. Affine Transform영상을 평행 이동시키거나 회전, 크기 변환 등을 통해 만들 수 있는 변환을 통칭한다. Affine 변환의 경우 직선 간의 길이 비율과 평행 관계가 그대로 유지된다.# transforms.pyimport cv2import numpy as npdef affineTransform(image:np.ndarray,matrix:..
[Computer Vision] Filtering 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 필터(filter)라는 말은 무언가를 걸러 내구 일부만 통과시키는 장치를 의미한다. 영상처리에서 필터는 영상에서 원하는 정보만 통과시키는 역할을 한다.노이즈 제거SmoothingSharping 영상의 필터링은 보통 마스크(mask)라고 부르는 작은 행렬을 이용한다. 마스크는 필터링의 성격을 정의하는 행렬로 커널(kernel), 윈도우(Window)라고도 부르며, 경우에 따라서는 마스크 자체를 필터라고 부르기도 한다. 마스크는 직사각형 행렬 또는 정방형 행렬을 사용하기도 한다. 또한 필요하다면 다양한 형태의 마스크를 사용할 수 있다. 기본 필터링기본적인 필터링은 Numpy로 만든 행렬과 filter2D 함수를 사용한다..
[Computer Vision] 영상의 명암 제어 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. OpenCV에서 컬러 영상이 아닌 GrayScale로 이미지를 열거나 변환하게 되면 각 좌표의 값을 색을 나타내는 값이 아니라 이미지의 명암을 나타낸다. import numpy as npimport cv2white = np.ones(shape=(480,480),dtype=np.uint8) * 255cv2.imshow("white",white)black = np.zeros(shape=(480,480),dtype=np.uint8)cv2.imshow("black",black)cv2.waitKey(0)cv2.destroyAllWindows() 밝기가 0인 영상(검은색)  밝기가 255인 영상(흰색)  Gray Scale 영..
[Computer Vision] 텍스트 삽입 및 유용한 기능 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 텍스트를 삽입하는 메서드는 "putText"이다.import cv2im = cv2.imread("test.png")text ="rabbit"cv2.putText( img=im, text=text, org=(50,50), fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=1, color=(242,200,100), thickness=1, lineType=cv2.LINE_AA, bottomLeftOrigin=False)cv2.imshow("text",im)cv2.waitKey(0)cv2.destroyAllWindows() 매개변수는 다음과 같다..

728x90
반응형