목록분류 전체보기 (89)
yoncho`s blog
OpenCV에서 이미지 변환, 이미지 전처리 작업앞절 이미지 변환[1]에서는 이미지 확대 & 축소, 이미지 크기 조절, 이미지 회전에 대한 내용을 다뤘으며,이미지 변환[2]에서는 영상처리 전처리에 있어서 중요한 내용들로기하학적 변환, 모폴로지 변환, 모폴로지 연산에 대해 배운다.4. 기하학적 변환기하학전 변환이란 것은 이미지를 인위적으로 변화시킨다는 것을 의미하고, 이미지를 구성하는 좌표들의 위치를 재배치한다고 볼 수 있다.기하학적 변환으론 아핀 변환, 원근 변환이 있다.아핀 변환 : 2x3행렬을 사용, 행렬 곱셈에 벡터 합을 활용 표현 할 수 있는 변환원근 변환 : 3x3행렬을 사용, 호모그래피(뒤틀림, 오목함)로 모델링 할 수 있는 변환아핀 변환 (Affine)원래 아핀 변환 행렬의 기본 형태는 원근..
OpenCV에서 이미지 변환, 이미지 전처리 작업이미지 변형이랑은 살짝 다른 변환은, 이미지 데이터 개수를 늘리거나 줄여서연산량을 줄이는 것을 목표로 한다.변환은 수학적으로 접근하면 (x, y)좌표값을 (x’, y’)값으로 변환하는 것을 의미한다.OpenCV에서 변환은 크게 이미지의 크기 변환, 특정 요소의 위치 변경, 이미지의 회전 등이 있다.유형으로는 강체 변환, 유사 변환, 선형 변환, 아핀 변환, 원근 변환이 있다.강체 변환 : 평행이동과 회전 하는변환유사 변환 : 평행이동과 회전, 크기조절 하는 변환선형 변환 : 크기조절, 반사, 기울임 하는 변환아핀 변환 : 크기조절, 반사, 기울임, 이동 하는 변환 (사각형을 평행사변형으로 바꾸는게 아핀 변환)원근 변환 : 아핀변환과 유사하지만, 수평성은 유..
OpenCV에서 이미지 변형, 이미지 전처리 작업이미지 데이터를 변형 작업을 해줌으로써,우린 이미지에서 중요한 특징들을 얻을 수 있다.특히, 나중에 가면 OpenCV와 Tensorflow를 활용해 영상처리 프로젝트를 하게된다면..OpenCV는 전처리까지 담당하고 그 뒤로는 인공지능으로 더 자세한 특징 검출 및 물체에 anchor box를 그려준다.따라서, 이미지 전처리를 담당하는 OpenCV이미지 변형은 매우 중요한 파트이다.이런 전처리 알고리즘으로는 색상 공간 변환, 이진화, 이미지 연산, 흐림효과 가 있다.여기서 이미지 연산을 제외한 색상 공간 변환, 이진화, 흐림효과에 대해서 정리하겠다.이미지 연산은 Python 배열간의 연산과 비슷하다.색상 공간 변환이진화흐림효과1. 색상 공간 변환색상 공간 변환..
OpenCV에서 동영상 입력 & 출력OpenCV는 N차원 배열에 대한 복합적 연산을 수행할 수 있지만,주된 용도는 이미지 처리 다.그리고 동영상에서는 프레임당으로 이미지정보를 가져와서 처리한다.동영상 입력동영상 출력카메라 출력동영상 저장1. 동영상 입력OpenCV에서는 동영상에서 프레임단위로 이미지를 읽어서 출력한다.컴퓨터가 동영상 파일을 읽으려면 동영상 코덱을 읽을 수 있는 라이브러리가 설치되어있어한다.OpenCV에서는 FFMPEG를 지원해서 AVI나 MP4등 동영상 파일을 쉽게 읽을 수 있다.동영상 입력 함수capture = cv2.VideoCapture(fileName)cv2.VideoCapture() : 동영상 입력하는 OpenCV의 함수이다.fileName : 경로를 포함한 입력 동영상 파일명이..
OpenCV에서 이미지 입력 & 출력OpenCV는 N차원 배열에 대한 복합적 연산을 수행할 수 있지만,주된 용도는 이미지 처리 다.이미지 입력이미지 출력이미지 저장1. 이미지 입력OpenCV에서 주로 사용하는 이미지 형식은 JPG, PNG와 같은 래스터 그래픽스 이미지 파일이다.(래스터 그래픽스 이미지란, 앞서 설명한 비트맵 이미지를 말한다.) 그리고 이미지 파일마다 이미지를 압축/해제/표현 등을 하는 고유한 포맷을 갖고있다.이런 고유한 포맷을 컴퓨터가 해석할 수 있어야한다.(포맷이란, 파일의 형식(JPEG, JPG, PNG, GIF 등)이고 파일을 형식에 따라 구분해주기위해 파일명 뒤에 붙이는게 확장자(.jpeg, .jpg, .png, .gif)이다.)확장자마다 파일 시그니처를 갖고있다.(파일 시그니처..
OpenCV에서 이미지 요소opencv에서 이미지는 3가지의 구성 요소 이미지 크기, 이미지 정밀도, 이미지 채널 로 구성되어있으며, 이 구성 요소를 분리하는 관심 영역, 관심 채널이있다. 이미지의 3가지 요소는 꼭 알고 있어야한다 !!이미지 크기이미지 정밀도이미지 채널1. 이미지 크기이미지의 크기는 이미지의 너비(Width) 와 이미지의 높이(Height)를 의미한다.이미지는 행렬(matrix)의 형태로 구성되어있다. 이미지의 크기가 곧 데이터의 크기라 할 수 있다.이미지 크기는 Image Pyramid나 Resize등으로 전처리 과정에서 이미지 크기를 조절한다.이미지 크기 속성원본 이미지가 OpenCV에서 설정해준 이미지 크기와 다를 수 있다.예를 들어 원본 이미지의 크기는 1400 x 500 인데 ..
OpenCV란?Open Source Computer Vision Library 약어로,실시간 영상 처리에 중점을 둔 영상 처리 라이브러리이다.계산 효율성과 실시간 처리에 중점을 두고 설계됐다. GPU 가속 모듈 지원으로 고해상도 이미지에 대해서 정확하고 정교한 알고리즘을 실시간으로 처리할 수 있다.머신러닝과도 밀접하게 연관돼 있어 머신러닝과 관련된 모듈도 포함한다.컴퓨터 비전의 기본 처리 과정입력 데이터전처리 과정특징 검출데이터 해석출력 데이터입력데이터를 받아 전처리 과정을 거치고 변환된 데이터에서 특징을 검출한다. 이때 윤곽선, 코너, 데이터 영역 내의 특성 등을 검출하고 벡터화 하는 작업을 수행한다.그렇게 정제된 변환 데이터를 해석과정을 통해 알고리즘에서 요구하는 문제 해결을 진행하면 최종적으로 사용..
비전 이해하기컴퓨터 비전이란?영상 입출력 매체를 통해 입력받은 이미지나 영상에서 물체(Object), 전경(Foreground), 배경(background)을 인식하고 이해하는 연구분야다.즉, 인간의 눈과 같은 역할을 기계에서 하는 것이다.한계인간의 시각은 가장 높은 해상도와 처리속도를 갖고있어서, 직관적인 정보를 얻는다.왜냐하면 인간은 사물을 볼 때, 모든 감각을 사용하며 기억과 경험적 측면을 활용하기때문이다.그리고 여기서 직관적인 정보를 얻는다는 것은.. 조명. 그림자. 배경들이 얽혀있는 상황이여도 물체를 뚜렷하게 구분할 수 있다는 것이다.하지만,컴퓨터는 모든것을 해결가능한 범위안에서 고려해야되기 때문에 물체를 인식해오는 것에 한계가 있다.데이터 변형, Analog to Digital카메라로 갖고오는..