본문 바로가기

Python/openCV7

Python OpenCV (영상의 이진화, 자동 이진화, 지역 이진화, 적응형 이진화, 모폴로지) 영상의 이진화(Binarization)- 픽셀을 검은색 또는 흰색 같이 두 개의 값으로 나누는 작업- 영상에서 의미있는 관심 영역(ROI)과 비관심 영역으로 구분할 때 이진화를 사용- 배경(background)과 객체(object)를 나눌 때- 그레이스케일에서는 영상을 이진화 시킬 때 특정값을 정해놓고 픽셀값이 특정값보다 크면 255, 작으면 0으로 설정- 영상을 연산할 때 255 또는 0으로 나누는 특정값을 임계값이라고 함cv2.treshold(영상, 임계값, 최대값, cv2.THRESH_로 시작하는 플래그)플래그cv2.THRESH_BINARY : 이진화 시키는 상수cv2.THRESH_BINARY_INV : 임계값보다 작으면 배경영상, 크면 검은색을 출력✔ treshold 함수는 영상의 이진화 뿐 아니.. 2023. 3. 10.
Python openCV (어파인, 크기변환, 영상회전, 보간법, 투시변환) 영상의 기하학적 변환 - 영상의 밝기, 명암비 조절, 필터링 등은 픽셀 위치는 고정한 상태에서 픽셀 값만 변경했지만, 기하학적 변환이라는 것은 픽셀 값은 그대로 유지하면서 위치를 변경하는 작업 - 영상을 구성하는 픽셀의 배치 구조를 변경함으로 전체 영상의 모양을 바꾸는 작업 ✔ 어파인 변환(affine transformation) 영상을 평행 이동시키거나 회전, 크기 변환 등을 통해 만들 수 있는 변환을 통칭 영상에서 (x,y) 좌표의 픽셀을 결과 영상의 (x' , y') 좌표로 변환하는 방법 { x' = f1(x, y), y' = f2(x, y) } { x' = f1(x, y) = ax + by + c, , y' = f2(x, y) = dx + ey + f } 위 수식을 행렬을 이용하여 아래와 같이 표.. 2023. 3. 9.
Python openCV 기본 영상(image) 픽셀(pixel) : 바둑판 모양의 격자에 나열괴어 있는 형태, 2차원 행렬 1. 그레이스케일 영상 - 흑백사진처럼 색상 정보가 없는 영상 - 밝기 정보만으로 구성된 영상 - 밝기 정보는 256단계로 표현(0 ~ 255) - numpy.uint8 = 8bit = 1byte - 가로크기 * 세로크기 = 28 * 28 = 784 bytes 2. 트루컬러 영상 - 컬러사진처럼 색상 정보를 가지고 있기 때문에 다양한 색상을 표현할 수 있는 영상 - red, green, blue 색 성분을 사용하고, 각 256단계로 표현 - 픽셀의 표현 -> (255, 255, 255) - 튜플, numpy.ndarray = 3byte - 가로크기 * 세로크기 * 3 = 28 * 28 * 3 = 2352 byt.. 2023. 3. 8.