Ubuntu(18.04)에서 VTK를 설치하는 방법을 정리하였습니다. OS를 리눅스로 정했기 때문에, QT를 함께 사용하여 디스플레이 하도록 하겠습니다. 옛날보다는 많이 좋아졌지만, 리눅스에서는 뭐든 설치하기가 참 까다롭지요(ㅠㅠ). 아래 글이…
변환(Transform)은 이미지를 다른 영역(domain)으로 바꾸어 표현하는 것을 의미합니다. 이 글은 특별히 2D 기하학적 변환에 대해서 언급합니다. 기하학적 변환의 종류는 다음과 같습니다. 이동(Translation) 크기 조정(Scaling) 반사…
언젠가부터 개성 넘치는 IT기술/개발 블로그가 많아져서, 좀 더 편하게 포스팅을 모아보는 방법을 찾아야 했습니다. 북마크에 마구 추가하고 생각날 때마다 가끔 들어가서 읽곤 했더니만, 북마크는 마치…
OpenCV는 자체적으로 정의된 cv::Exception을 사용하여 오류를 처리하고 있습니다. cv::Exception은 오류 정보를 표현하기 위해 code, err, func, file 및 line이라는 멤버를 갖고 있습니다. – code: 숫자 오류 코드 (int) – err: 오류의 특성을 설명 (cv::String) – func: 오류가…
C/C++의 일반 포인터는 메모리 관리 측면에서 여러가지 문제점이 있습니다. 메모리 누수, 허상 포인터 (Dangling pointer), 할당 실패와 같은 문제는 개발자들의 영혼과 근무시간을 갉아먹는 존재들입니다! 그래서 등장한 스마트 포인터…
OpenCV는 컴퓨터 비전을 보다 쉽고 직관적으로 처리할 수 있도록 매우 다양한 데이터 타입을 정의하고 있습니다. 또한 Template을 이용하여 라이브러리의 확장성을 높였습니다. 이번 포스팅에서는 기본적인 데이터…
OpenCV로 비디오를 출력해보도록 하겠습니다. 코드는 아래와 같습니다. #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; int main(int argc, char* argv[]) { namedWindow(“Example”, cv::WINDOW_AUTOSIZE); VideoCapture cap; cap.open(string(argv[1]));…
OpenCV로 이미지를 띄워보는 코드를 간단한 설명과 함께 소개합니다. Ubuntu 환경에서 CMake로 빌드하는 방법도 함께 소개하도록 하겠습니다. ※ Visual Studio에서 만든 프로젝트에서 OpenCV를 사용하는 방법은 2019/04/11…
OpenCV에서 사용하는 헤더파일을 소개합니다. OpenCV가 워낙 방대해서 모든 것을 다룰 수는 없지만, 다양한 예제를 계속 접하다보면 익숙해지는 날이 오지 않을까 합니다 🙂 #include “opencv2/opencv.hpp” OpenCV에서…
1. https://opencv.org/releases.html에 접속합니다. Win pack을 눌러 opencv-3.4.?-vc14_vc15.exe 파일을 다운로드 받습니다. 해당 파일은 VC2015 및 VC2017용으로 이미 빌드가 되어 있는 것을 패키지화 하였습니다. 특별한 예외적 환경에서는…