OpenCV 영상처리 - 컬러 영상과 색 공간
OpenCV와 컬러 영상 컬러 영상은 3차원 numpy.ndarray로 표현. img.shape = (h, w, 3) OpenCV에서는 RGB 순서가 아니라 BGR 순서를 기본으로 사용 OpenCV에서 컬러 영상 다루기 img1 = cv2.imread('lenna.bmp', cv2.IMREAD_COLOR) img2 = np.zeros((480, 640, 3), np.uint8) img3 = cv2.imread('lenna.bmp', cv2.IMREAD_GRAYSCALE) img4 = cv2.cvtColor(img3, cv2.COLOR_GRAY2BGR) img4의 경우, 영상의 각 픽셀은 B, G, R 색 성분 값이 모두 같게 설정됨 RGB 색 공간 빛의 삼원색인 빨간색(R), 녹색(G), 파란색(B)을 ..
2024. 3. 18.
OpenCV 영상처리 - 밝기 조절
화소 처리 (Point processing) 입력 영상의 특정 좌표 픽셀 값을 변경하여 출력 영상의 해당 좌표 픽셀 값으로 설정하는 연산 src(x,y) : 입력 x,y의 픽셀값 dst(x,y) : 출력 x,y의 픽셀값 결과 영상의 픽셀 값이 정해진 범위(ex. 그레이스케일)에 있어야 함. 반전, 밝기 조절, 명암비 조절 등 밝기 조절 영상을 전체적으로 더욱 밝거나 어둡게 만드는 연산 밝기 조절 수식 saturate : 일정 값 이상 또는 이하로 넘어가지 않도록 제한 하는 함수 영상의 밝기 조절을 위한 영상의 덧셈 연산 cv2.add(src1, src2, dst=None, mask=None, dtype=None) -> dst src1 : (입력) 첫 번째 영상 또는 스칼라 src2 : (입력) 두 번째 ..
2024. 3. 18.
OpenCV 그리기 함수(직선, 사각형, 원, 다각형, 문자열)
▪ 그리기 함수 사용 시 주의할 점 • 그리기 알고리즘을 이용하여 영상의 픽셀 값 자체를 변경 → 원본 영상이 필요하면 copy를 통해 그리기 & 출력 • 그레이스케일 영상에는 컬러로 그리기 불가 → cv2.cvtColor() 함수로 BGR 컬러 영상으로 변환한 후 그리기 함수 호출 1. 직선 cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None) -> img • img: 그림을 그릴 영상 • pt1, pt2: 직선의 시작점과 끝점. (x, y) 튜플 • color: 선 색상 또는 밝기. (B, G, R) 튜플 또는 정수값 • thickness: 선 두께. 기본값은 1 • lineType: 선 타입. cv2.LINE_4, cv2..
2024. 3. 15.
OpenCV 이미지(영상)의 생성, 복사, 부분 영상 추출
import numpy as np import cv2 import os os.chdir('C:\coding\OpenCV\ch02') # can't open/read file: check file path/integrity 오류 해결을 위해 경로 설정 # 새 이미지(영상) 생성하기 img1 = np.empty((240, 320), dtype=np.uint8) # grayscale image img2 = np.zeros((240, 320, 3), dtype=np.uint8) # color image img3 = np.ones((240, 320), dtype=np.uint8) * 255 # white * 연산을 통해 흰색 생성 img4 = np.full((240, 320, 3), (0, 255, 255), d..
2024. 3. 15.