본문 바로가기

IT/Image Processing

[Multiple View Geometry in CV] INTRODUCTION - [2] Coordinates : Euclidean 2차원 공간에서 점을 표현한다면 (x,y)로 표현될 수 있음: 이러한 Euclidean 2차원 공간의 점을 3차원으로 확장하면 (x,y,1)로 표현할 수 있음: 이러한 표현들은 2차원에서 3차원으로, 3차원에서 2차원으로 마지막 elements인 1을 추가했다가, 제거하는 형태로 변형할 수 있음: 위의 표현들을 일반화 한다면, (kx, ky, k)로 표현할 수 있음 : Formally, points are represented by equivalence classes of coordinate triples, where two triples are equivalent when they differ by a common multiple: 일반적으로 점은 equiva.. 더보기
[Multiple View Geometry in CV] INTRODUCTION - [1] Projective Transformation : 어떠한 물체를 2차원 공간(이미지, 사진)에 투사키는 하나의 Map이라고 볼 수 있음. -> 예를들어 우리가 사진을 찍었을 때, 3차원 공간에 있는 물체들을 2차원 공간에 투영하는 것에 대한 Mapping 함수 Property that preserved by projective transformation : Angles, length, circle, ratios of distance는 투영되는 순간 변하기 때문에 projective transformation에서 정보가 보존되지 않음: 정보가 보존되는 것은 오직 straightness (보강 필요): 여기서 straightness 란 straight line이 어떠한 점들로 Mapping될 때, Strai.. 더보기
[OpenCV/C] Convolution Filter 요즘에 CNN과 관련된 일을 하고 있습니다. CNN의 핵심은 Convolution이기 때문에 이번 포스팅은 복습하는 겸 Convolution에 대해서 포스팅하겠습니다. 1. Convolution & Correlation 1-1. Convolution, 합성곱이라고 합니다. 위키피디아에서 Convolution(영문)을 찾아보면 보면 정의는 다음과 같이 되어있습니다. - 1D Convolution - 2D Convolution 1-2. Correlation, 상관분석이라고 합니다. 수식 정의는 다음과 같습니다. - 1D Correlation - 2D Correlation 수식을 잘 보면, 단지 +와 -에 대한 차이밖에 없습니다. 그리고 만약 input function이 symmetricaly하다면 Convo.. 더보기
[OpenCV / Java]Webcam 영상 출력 이번 포스팅에서는 이클립스환경에서 Java와 OpenCV 이용한 웹캠영상 출력에 대해서 포스팅하겠다.튜토리얼은 다음 링크를 참고했다.http://michaelscarlett.blog.com/2015/01/25/opencv-java-webcam-example/ 튜토리얼의 코드는 3가지 파트로 나뉜다. 1. Main.java1234567891011121314151617181920212223242526272829303132333435363738394041import org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.highgui.VideoCapture; public class Main { static { // Load the native Op.. 더보기
[Window / java] [OpenCV 2.4.11] 설치 & 이클립스 설정 Java에서 OpenCV를 사용하기 위한 준비를 한다.3.x 버전 이상에서는 highgui가 없어지고 다른 클래스사이에 숨어버려서 사용하기가까다우므로 2.4.11를 사용하기로 했다. 1. OpenCV 다운로드 OpenCV홈페이지(링크 클릭)에 들어간다. 다음에서 LATEST DOWNLOADS를 클릭한다.들어가서 찾아보면 VERSION 2.4.11을 찾을 수 있을 것이다.거기서 OpenCV for Windows를 찾아서 다운로드한다. 해당 아이콘모양의 실행파일을 찾아서 실행한다.(실행이 실제로는 압축해제를 의미한다.)실행하면 실행파일 디렉토리 혹은 사용자가 설정한 경로에 opencv폴더가 만들어진다.opencv폴더를 원하는 디렉토리에 옮겨준다.여기서는 C드라이브로 옮겼다. 2. 환경변수 설정 다음과 같이 .. 더보기
[Linux/Ubuntu][OpenCV - 3.3.0 with contrib] 설치 Issue 1. Ubuntu 17.04 + CUDA + opencv_contribe-3.3.0 + opencv-3.3.0 Ubuntu 17.04에서 CUDA + opencv_contribe-3.3.0 + opencv-3.3.0 설치시 몇가지 문제가 발생합니다. 해당 이슈는 Ubuntu 17.04의 그래픽 드라이버 설치시 gcc-7, g++-7 버전을 default로 사용하고, NVCC 및 OpenCV는컴파일시 gcc-7, g++-7버전을 지원못하는 이슈때문에 생기는 문제로 보입니다. 해결방법은 아래의 방법을 순서대로 따라하시면 됩니다. - gcc-5와 g++-5를 먼저 설치해줍니다. sudo apt-get install -y gcc-5 g++-5 - 기존 /usr/bin의 gcc와 g++ 심볼릭 링크를 .. 더보기