본문 바로가기

8. OpenCV | CV

(14)
7/31(월) IT K-DT(101일차) / 27.OCR~28.테서렉트 1. OCR(Optical Character Recognition) 광학문자인식. 이미지나 문서에서 텍스트를 자동으로 인식하고 컴퓨터가 이해할 수 있는 텍스트 데이터로 변환하는 프로세스. 사진, 스캔, 스마트폰 카메라로 찍은 이미지 등 다양한 형식의 입력에서 문자를 식별하고 추출하여 편리한 텍스트 데이터로 변환할 수 있음. 2. 테서렉트(Tesseract) 오픈 소스 기반의 광학 문자 인식(OCR) 엔진. 처음에는 Hewlett-Packard 사에서 개발되었으며, 현재는 Google이 주도하고 관리하고 있음. 다양한 언어의 인쇄된 텍스트를 이미지나 스캔한 문서에서 자동으로 감지하고 추출하여 컴퓨터가 이해할 수 있는 텍스트 데이터로 변환하는 데 사용하는 라이브러리. 다양한 플랫폼에서 동작하며, 텍스트 인식..
7/28(금) IT K-DT(100일차) / 21.필터링(filtering)~26.외곽선검출 21. 필터링 (filtering) 커널(filter)이라고 하는 행렬을 정의하고 이 커널을 이미지 위에서 이동시켜 가면서 커널과 겹쳐진 이미지 영역과 연산을 한 후 그 결과값을 연산을 진행한 이미지 픽셀을 대신하여 새로운 이미지를 만드는 연산 (CNN의 Mask와 유사한 개념) filter2D(영상, 이미지의깊이(-1), 커널, 중심점좌표, 추가될값, 가장자리화소처리) 이미지깊이: -1(입력과동일) 커널행렬: 3*3, 5*5 ...와 같이 가로세로가 동일한 정방행렬을 사용. 중심점좌표: 기본값은 왼쪽상단 가장자리화소처리 BORDER_CONSTANT: 픽셀의 끄트머리를 0으로 채우는 처리. (0000abcdefg0000) BORDER_REPLICATE: 픽셀의 맨 왼쪽과 맨 오른쪽을 동일한 값으로 채우는..
7/27(목) IT K-DT(99일차) / 18.적응형이진화~20.영상의변환 18. 적응형 이진화 - 노이즈를 제거한 뒤에 Otsu 이진화를 적용. 훨씬 더 선명해지게 보일 수 있음. - 영상을 여러 영역으로 나눈 뒤, 그 주변 픽셀값만 활용하여 임계값을 구함 cv2.adaptiveThreshold(영상, 임계값을만족하는픽셀에적용할값, 임계값결정방법, Threshold적용방법, block_size, 가감할상수) - 임계값결정방법 cv2.ADAPTIVE_THRESH_MEAN: 이웃 픽셀의 평균으로 결정하는 방법. 선명하지만 잡티가 많아짐. cv2.ADAPTIVE_THRESH_GAUSSIAN_C: 가우시안분포에 따른 가중치의 합으로 결정하는 방법. 선명도는 떨어지나 잡티가 적음. - block_size: 몇으로 나눌것인지를 결정. 일반적으로 3의 배수를 호출하며, 사이즈가 클수록 연..
7/26(수) IT K-DT(98일차) / 12.inRange함수~17.지역이진화 12. inRange() 영상에서 index값을 추출해주는 함수 이미지에서 지정된 범위 안에 픽셀을 선택 cv2.inRange(영상, min값, max값) # 녹색계열의 색상만 추출하려는 경우 import cv2 src = cv2.imread('./candies.png') hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) # HSV를 사용하여 색상을 추출하려 함 ''' RGB 녹색계열 추출값 0
7/25(화) IT K-DT(97일차) / 4.KeyEvent~11.정규화 4. Key Event 1. 키보드 이벤트 cv2.waitKey(delay) delay: 밀리초 단위 대기(0보다 작거나 같으면 무한정 기다림. 기본값은 0) return: 눌려진 아스키 코드값(ESC: 27, ENTER: 13, TAB: 9 ...) ' i '를 누를 시 이미지 색상이 반전되는 예제 import cv2 img = cv2.imread('./dog.bmp') cv2.imshow('image', img) cv2.waitKey() while True: keyvalue = cv2.waitKey() if keyvalue == ord('i') or keyvalue == ord('I'): # ord(): 아스키코드값을 리턴시켜주는 함수 img = ~img # 소문자나 대문자 i를 사용하면 img값을 ..
7/24(월) IT K-DT(96일차) / 1.OpenCV~3.영상 1. OpenCV(Open Source Computer Vision Library) 컴퓨터 비전과 이미지 처리를 위한 오픈소스 라이브러리 (컴퓨터 비전 =/= OpenCV) 1999년 Intel에서 영상처리 기술을 개발하기 위한 목적으로 만들어짐 2000년 BSD 라이센스로 배포 2011년 이후 OpenCV2로 개발 시작 (현재 버전은 OpenCV4이지만, 지금까지 불리는 명칭은 OpenCV2임) OpenCV 설치 pip install opencv-python (cv2라는 라이브러리가 따로 있기 때문에, 확실하게 숙지) 2. 컴퓨터 비전(Computer Vision) 컴퓨터를 이용해서 디지털 이미지나 비디오에서 정보를 추출하고 해석하는 기술과 분야 이미지 처리, 객체 탐지, 패턴 인식, 광학 문자 인식 ..