본문 바로가기

프로그래밍 강좌/C++ - OpenCV

(36)
[OpenCV][C++] 윈도우 생성, 키보드 이벤트 처리 방법 총정리 - namedWindow imshow waitkey waitkeyEx setWindowProperty 지난번에 트랙바를 사용하는 방법에 대해 살펴보았습니다. https://m.blog.naver.com/dorergiverny/223060058845 [OpenCV][C++] 트랙바(trackbar) 사용하기 총정리 - createTrackbar convertTo slider control 슬라이더 waitkey 이번에는 opencv 에서 제공하는 trackbar 사용하는 방법에 대해 알아보겠습니다. trackbar 사용하기 우리가... blog.naver.com 이번에는 키보드와 마우스 이벤트를 받고 처리하는 방법에 대해 상세히 알아볼께요. 키보드와 마우스 이벤트를 받기 위해서는 윈도우가 하나 필요하겠죠? 윈도우 생성 winName 이란 이름을 갖는 창을 생성하는 함수. winName 창 이름 (생성할 창..
[OpenCV][C++] 마우스 이벤트 처리 총정리 - onMouse setMouseCallback 네이버 블로그에서 윈도우 생성 방법과 키보드 입력을 받아 이벤트를 처리하는 방법에 대해 알아보았습니다. https://m.blog.naver.com/dorergiverny/223084026173 [OpenCV][C++] 윈도우 생성, 키보드 이벤트 처리 방법 총정리 - namedWindow imshow waitkey 지난번에 트랙바를 사용하는 방법에 대해 살펴보았습니다. https://m.blog.naver.com/dorergiverny/2230600... blog.naver.com 이번에는 마우스 이벤트 처리하는 방법에 대해 알아보겠습니다. 마우스 이벤트도 OpenCV에서 만들어진 창에서 마우스 클릭에 반응하거나 마우스를 드래그하여 그림을 그릴 수 있습니다. 1. 마우스 이벤트 콜백 함수 생성 마우스 ..
[OpenCV][C++] 영상에 문자열 출력하기 cv::putText(), cv::getTextSize() 총정리 글씨 쓰기 글자 표현 image fontface fontscale 영상에 문자열을 이용하여 필요한 정보를 표시해야 하는 경우가 있습니다. OpenCV에서는 영상에 문자열을 출력할 수 있는 cv::putText()를 제공합니다. cv::putText는 다음과 같은 인자를 받을 수 있습니다. src 문자열을 출력할 영상 text 출력할 문자열, const String& pos 문자열 출력할 위치의 좌하단 좌표, cv::Point fontFace 폰트 종류, cv::HersheyFonts에서 선택 가능 fontScale 폰트 크기 확대 축소 비율 color 문자열 색상 thickness 문자열 선 두께 lineType 선타입, LINE_4, LINE_8, LINE_AA bottomleftOrigin true: 영상 좌하단을 원점으로, false: 영상 좌상단이 원점으로 여기..
[OpenCV][C++] 두 영상 이어 붙이기 총정리 - hconcat vconcat resize 바둑판 모양 image 원소 합치기 지난번에는 로고를 영상에 합성하는 방법에 대해 알아봤습니다. https://blog.naver.com/dorergiverny/223051585864 [OpenCV][C++] 영상에 다른 영상 ( 로고 ) 삽입하기(2) - mask 생성, copyTo(), bitwise_and() 합성 합치기 두영 지난번엔 관심영역과 blending을 통한 영상 삽입에 대해 알아봤다면, https://m.blog.naver.com/dorergiver... blog.naver.com 이번에는 영상을 이어 붙이는 방법에 대해 알아보겠습니다. 가로 이어 붙이기, hconcat() 두 영상을 가로로 이어 붙이려면 두 영상의 높이가 같아야 합니다. 저는 이번에 사이즈가 다른 두 영상을 준비했습니다. lena 영상은 512x512 ..
[OpenCV][C++] 영상에 다른 영상 ( 로고 ) 삽입하기(2) - mask 생성, copyTo(), bitwise_and() 합성 합치기 두영상 더하기 지난번엔 관심영역과 blending을 통한 영상 삽입에 대해 알아봤다면, https://m.blog.naver.com/dorergiverny/223051510275 [OpenCV][C++] 영상에 다른 영상(로고) 삽입하기(1) - ROI 설정, 영상 가중합 로고 넣기 합성 addWeighted() 이번에는 영상에 다른 영상을 삽입하는 방법에 대해 알아볼께요. ROI(Region Of Interest, 관심영역)... blog.naver.com 이번에는 로고를 좀 더 멋지게 삽입해 봐요. 오늘은 좀 Quick 하게 진행할께요. copyTo() 이용하기 이번에도 같은 영상을 가지고 로고를 넣어 볼께요. 1. 영상 준비하기 원본 영상과 로고 영상을 준비합니다. cv::resize()를 이용하여 영상 사이즈를..
[OpenCV][C++] 영상에 다른 영상(로고) 삽입하기(1) - ROI 설정, 영상 가중합 로고 넣기 합성 addWeighted() roi 지난번까지는 OpenCV의 꽃인 cv::Mat 클래스와 UMat 클래스에 대해 알아봤습니다. 원소 접근 속도 비교까지 해 드렸어요. https://blog.naver.com/dorergiverny/223088700257 [OpenCV][C++] cv::Mat 클래스 총정리(6) - OpenCL과 cv::UMat 사용하기 OpenMP tbb gpu 사용 cv::Mat 클래스와 관련되어 벌써 6번째 시리즈네요. 그만큼 영상처리에 많이 사용되면서도 가장 중요한 O... blog.naver.com 이번에는 영상에 다른 영상을 삽입하는 방법에 대해 알아볼께요. ROI(Region Of Interest, 관심영역) 설정 한 영상에 로고와 같은 다른 영상을 삽입하려고 하면 ROI를 먼저 알아야 합니다. ROI(Reg..
[OpenCV][C++] cv::Mat 클래스 총정리(4) - OpenCL과 cv::UMat 사용하기 OpenCL OpenMP cv::Mat 클래스와 관련되어 벌써 4번째 시리즈네요. 그만큼 영상처리에 많이 사용되면서도 가장 중요한 OpenCV의 클래스지요. 지난번에 Mat 클래스에 빠르게 원소 접근하는 방법에 대해 알아 봤습니다. https://blog.naver.com/dorergiverny/223037431607 [OpenCV][C++] cv::Mat 클래스 총정리(3) - 원소 ( 픽셀 ) 접근 속도 분석 빠른 확인 matrix 테스트 parallel_fo 오늘은 인터넷 어디에도 없는 정보를 드릴까 합니다. 그러니 귀 쫑긋 눈 활짝 떠 주시고. 이번에는 여러가... blog.naver.com 이번에는 UMat 클래스에 대해 알아보겠습니다. UMat 클래스란? UMat 클래스는 Mat 클래스와 동일한 방법으로 OpenCV의..
[OpenCV][C++] cv::Mat 클래스 총정리(3) - 컬러(color) 원소 접근, 3채널 16bit 32bit 64bit short int float double 지난번에는 gray scale 영상에서 원소에 접근하는 방법에 대해 알아봤는데, https://blog.naver.com/dorergiverny/223035763914 [OpenCV][C++] cv::Mat 클래스 총정리(2) - 원소 ( 픽셀 ) 접근 방법 at ptr data 속도 측정 빠른 방법 지난번엔 cv::Mat 클래스를 선언하고 생성하는 기본적인 방법에 대해 알아봤어요. https://m.blog.naver.c... blog.naver.com 오늘은 color 영상 원소에 어떻게 접근하는지 알아볼께요. 3채널, 즉 컬러 영상은 한 화소를 구성하는 게 3개라는 뜻입니다. 다시 말하면, 빛의 3원소인 R, G, B가 하나의 색깔을 표현한다는 것이에요 opencv에서는 보통 B, G, R 순서로 ..