본문 바로가기

728x90
반응형

AI/Computer Vision

(22)
[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() 매개변수는 다음과 같다..
[Computer Vision] 그리기 함수 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. "직선"을 그리는 함수는 "line" 메서드를 사용하면 된다.import cv2import numpy as np# 흰배경의 빈 이미지 생성(512 x 512)white_background = np.ones((512,512),dtype=np.uint8) * 255# 직선cv2.line( img=white_background, pt1=(0,0), pt2=(256,256), color=100, thickness=3, lineType=cv2.LINE_4, shift=0)cv2.imshow("line",white_background)cv2.waitKey(0)cv2.destroyAllWin..

728x90
반응형