본문 바로가기
728x90
반응형
SMALL

Python106

[파이썬, Python] OpenCV - 크로마키(cromakey) 1. inRange() 이미지에서 지정된 범위 안에 픽셀을 찾아냄 cv2.inRange(영상, min값, max값) ✅ inRange()를 활용하여 영상에서 녹색계열만 추출하기 import cv2 src = cv2.imread('candies.png') hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) ''' RGB 녹색계열 0 2023. 8. 25.
[파이썬, Python] OpenCV - 히스토그램과 영상 균등화, 정규화 1. 히스토그램(histogram) 영상의 픽셀값 분포를 그래프 형태로 표현 예) 그레이스케일 영상에서 밝기 정보에 해당하는 픽셀의 개수를 구하고 막대 그래프로 표현 cv2.calcHist(영상, 히스토그램을 구할 채널, None, 빈의 개수를 나타내는 리스트, 히스토그램 각 차원의 최소값과 최대값으로 구성된 리스트) 빈의 개수: 색상에 대한 개수(0 ~ 255) -> 관례적으로 256을 넣으면 됨 1-1. 영상과 히스토그램의 관계 밝은 영상이면 히스토그램이 전체적으로 오른쪽으로 치우쳐져 있음 어두운 영상이면 히스토그램이 전체적으로 왼쪽으로 치우쳐져 있음 명암비가 확실한 영상이면 히스토그램이 전체적으로 양쪽으로 분포 ✅ 흑백 영상의 히스토그램 import cv2 import matplotlib.pyplo.. 2023. 8. 25.
[파이썬, Python] OpenCV - 컬러 영상과 색상 정보 1. 컬러 영상과 색 컬러 영상은 3차원 배열 numpy.ndarray로 다룰 수 있음 img.shape: (h, w, 3) -> OpenCV에서는 BGR 색상 채널 분리 cv2.split(영상) 색상 채널 결합 cv2.merge(입력 영상 리스트 또는 튜플) import cv2 src = cv2.imread('candies.png', cv2.IMREAD_UNCHANGED) # BGRA로 가져올 수 있음(png파일이라 알파채널 포함) print('shape:', src.shape) print('dtype:', src.dtype) # b = src[:,:,0] # g = src[:,:,1] # r = src[:,:,2] b, g, r = cv2.split(src) cv2.imshow('src', src) .. 2023. 8. 24.
[파이썬, Python] OpenCV - 영상의 화소 처리 1. 영상의 화소처리 영상의 특정 좌표 픽셀값으 변경하여 출력 영상의 좌표 픽셀을 설정하는 모든 연산 1-1. 밝기 조절 영상을 전체적으로 밝게하거나 어둡게 하는 연산 cv2.add(첫번째 영상, 두번째 영상) cv2.subtract(첫번째 영상, 두번째 영상) cv2.multiply(첫번째 영상, 두번째 영상) cv2.divide(첫번째 영상, 두번째 영상) import cv2 src1 = cv2.imread('dog.bmp', cv2.IMREAD_GRAYSCALE) src2 = cv2.imread('dog.bmp') # src1, src2의 픽셀값에 100씩 더해줌 dst1 = cv2.add(src1, 100) print('dst1: ', dst1) print('---------------') dst.. 2023. 8. 24.
[파이썬, Python] OpenCV - 키보드, 마우스 이벤트 1. 키보드 이벤트 cv2.waitKey(delay) delay: 밀리초(ms) 단위 대기(0보다 작거나 같으면 무한정 기다림, 기본값 0) return: 눌려진 아스키 코드값(ESC: 27, ENTER: 13, TAB: 9 ..) import cv2 img = cv2.imread('dog.bmp') cv2.imshow('img',img) # 화면 띄우고 키가 들어오기 전까지 띄워짐 # 매개변수가 주어지지 않을 때 무한정 기다림 # cv2.waitKey() while True: keyvalue = cv2.waitKey() # ord(): 아스키코드값을 리턴 if keyvalue == ord('i') or keyvalue == ord('I'): img = ~img # 색상값을 반전 cv2.imshow('i.. 2023. 8. 24.
[파이썬, Python] OpenCV - 동영상 처리하기! 1. cv2.VideoCapture 클래스 카메라와 동영상으로부터 프레임(frame)을 받아오는 작업을 처리함 2. 카메라 영상 입력 2-1. cv2.VideoCapture(index) index: 시스템의 기본 카메라를 open하려면 0 또는 카메라 고유의 값(웹캠) 2-2. cv2.VideoCapture.isOpened() True: 동영상 불러오기 성공, False: 실패 cv2.CAP_PROP_FRAME_WIDTH: 카메라로 읽어들인 동영상의 가로 사이즈 cv2.CAP_PROP_FRAME_HEIGHT: 카메라로 읽어들인 동영상의 세로 사이즈 2-3. cv2.VideoCapture.read() ret: 영상이 정상적으로 리턴되었는지 여부(True, False) frame: 영상 자체를 반환(그레이스.. 2023. 8. 23.
[파이썬, Python] OpenCV - 영상에 도형 그리기! 1. 도형 그리기 1-1. 직선 그리기 cv2.line(영상, 직선의 시작점과 끝점(튜플), 선색상, 선두께, 선타입 ...) 1-2. 사각형 그리기 cv2.rectangle(영상, 사각형의 꼭짓점 좌표, 선색상, 선두께, 선타입...) 선 두께를 -1로 설정하면 내부를 색상으로 채움 1-3. 원 그리기 cv2.circle(영상, 원의 중앙좌표, 반지름, 선색상, 선두께...) 선 두께를 -1로 설정하면 내부를 색상으로 채움 1-4. 문자열 출력하기 cv2.putText(영상, 문자열, 영상에서 문자열을 출력할 위치 좌표, 글꼴, 폰트크기) import cv2 import numpy as np # 255로 다 채운 500 * 500 크기의 컬러 이미지 생성 img = np.full((500, 500, 3.. 2023. 8. 4.
[파이썬, Python] OCR - Tesseract 설치 & 사용하기(환경변수 설정) 1. OCR(Optical Character Recognition)광학 문자 인식이미지나 문서에서 텍스트를 자동으로 인식하고 컴퓨터가 이해할 수 있는 텍스트 데이터로 변환하는 프로세스 2. 테서렉트(Tesseract)오픈 소스 OCR 라이브러리로 구글에서 개발하고 현재는 여러 커뮤니티에 의해 유지보수윈도우: https://github.com/UB-Mannheim/tesseract/wiki 에서 tesseract-ocr-w64-setup-5.3.1.20230401.exe 를 다운로드(2023-07-31 기준)더보기https://github.com/UB-Mannheim/tesseract/wiki HomeTesseract Open Source OCR Engine (main repository) - UB-Man.. 2023. 7. 31.
728x90
반응형
LIST