C++์์ ์์ํด๋ณด๋ OpenCV
What is OpenCV?
OpenCV๋ Open Computer Vision์ ์ฝ์๋ก, ์ค์๊ฐ ์ด๋ฏธ์ง ์ฒ๋ฆฌ์ ์ค์ ์ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฉฐ, C, C++, Python ์ธ์ด์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ณธ๋๋ Intel์ด ์ฃผ๋์ ์ผ๋ก ๊ฐ๋ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ผ๋ ํ์ฌ๋ Intel์ด ์ ํ ๊ด์ฌํ์ง ์๊ณ ์๊ณ , Open Source Library์ ๋๋ค.
๋ณธ๋ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ชฉ์ ์ ๊ธฐ๊ณ์ ์๊ฐ์ ํด๋นํ๋ ๋ถ๋ถ์ ์ฐ๊ตฌํ๋ ๊ฒ์ด ๋ชฉ์ ์ด์๊ณ , ํ์ฌ๋ ๋จธ์ ๋ฌ๋์์์ ์ด๋ฏธ์ง ์ธ์, ์ด๋ฏธ์ง ๊ฒ์ ๋ฑ์ ์ด์ฉ๋๊ณ ์์ผ๋ฉฐ ์ด ์ธ์ CCTV์์ ๋ฒ์ฃ์๋ฅผ ์บ์นํ๊ฑฐ๋ ์ด์ ํ๋ ์๋ น์ ๊ฐ์ํ๊ณ ์๋ ์ ๋ฌธ ๋ถ์ผ ๋ฑ์์ ์ฌ์ฉํ๊ณ ์๊ธฐ๋ ํฉ๋๋ค.
How to use OpenCV?
OpenCV๋ Python, C, C++์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Python ๋ผ์ด๋ธ๋ฌ๋ฆฌ, C/C++ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ฉฐ ์๋์ ๋ฒํผ์ ํด๋ฆญํด OpenCV ํํ์ด์ง์์ OS๋ณ๋ก ์ ๊ณต๋ฐ์ ์ ์์ต๋๋ค. ์ง์ํ๋ OS๋ OS X, Linux, Windows, iOS, Android๋ฅผ ์ง์ํฉ๋๋ค.
์ต๊ทผ OpenCV๋ NVIDIA CUDA๋ฅผ ์ง์ํ์ฌ GPU๋ฅผ ์ฌ์ฉํ ์ด๋ฏธ์ง/์์์ฒ๋ฆฌ๋ ๊ฐ๋ฅํด์ก์ต๋๋ค.
OpenCV๋ Github์ ๋ฌด๋ฃ๋ก ๊ณต๊ฐ ๋์ด ์์ด ์์ ์ด ์ฒ๋ฆฌํ๊ณ ์ ํ๋ ์ฝ๋ ์์ฑ ํ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ฌ๋ฌ๋ถ๋ค์ด ์ง์ ์ด๋ฅผ ์์ ํ๊ณ , ๊ธฐ์ฌํ ์ ์์ต๋๋ค.
C++ for OpenCV / OpenCV Version
์ ๋ OpenCV๋ฅผ C++ ์ธ์ด๋ก ์์ํ์๊ณ , ์ด ๋ธ๋ก๊ทธ์๋ C++์ ๊ด๋ จ๋์ด ๋ธ๋ก๊ทธ ํฌ์คํธ๋ก ๋จ๊ธฐ๊ณ ์ ํฉ๋๋ค. (์ถํ Python์ ์ฌ์ฉํด Tensorflow์ ์ ์ฉํ๊ฒ ๋๋ฉด, ๋ ํฌ์คํ ํ ์๋ ์๊ฒ ์ง๋ง, ์ผ๋จ ์ง๊ธ์..)
OpenCV ๋ฒ์ ์ 2.x ๋ฒ์ ๊ณผ 3.x ๋ฒ์ ์ผ๋ก ๋๋ฉ๋๋ค. (๊ณต๊ต๋กญ๊ฒ๋ ๋ ๋ฒ์ ๋์์ ์ฌ์ฉ์ด ์ ๋๋ ๊ฒ ๊ฐ์ต๋๋ค..)
Linux์ ๊ฒฝ์ฐ ์ต์ ๋ฒ์ ์ OpenCV์ธ 3.1.x ๋ฒ์ ์ ๊ถ์ฅํ๊ณ , GPU๊ฐ ์๋ค๋ฉด, ํด๋น GPU์ ๋ง์ถฐ, ๋๋ผ์ด๋ฒ์ CUDA๊ฐ ํ์ํฉ๋๋ค. CMake๋ฅผ ์ด์ฉํด ๋น๋ํด์ ์ค์นํด์ผ ํฉ๋๋ค.
Windows๋ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์๋ง ๋๊ฐ์ด CMake๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๊ณ , GPU๋ฅผ ์ฌ์ฉํ๋ ๋ฏํ์ต๋๋ค.
OpenCV 2.4๋ฒ์ ์ OpenCV ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๊ฐ์ฅ ์์ ์ ์ธ ๋ฒ์ ์ผ๋ก ์๋ ค์ ธ ์์ผ๋ฉฐ ์ถ์ฒํ๋ ๋ฒ์ ์ ๋๋ค. ํ์ง๋ง ์ ๋ Ubuntu ๋ฒ์ ๊ณผ ํน์ฑ์ 3.1 ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๊ณ , ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ถํ์ Ubuntu ๊ฒ์ํ์ ์ฌ๋ฆด ์์ ์ ๋๋ค.
OpenCV 2 ๋ฒ์ , 3 ๋ฒ์ ๋ชจ๋ C++๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ OpenCV๋ฅผ ๋ง์ฝ ์ฒ์ ์ฌ์ฉํด๋ณด์๋ ค๋ ๊ฐ๋ฐ์๋ผ๋ฉด, C++์ ๋ํ ์ง์๊ณผ ๊ฐ๋ ์ด ์ถฉ๋ถํ ๊ฐ์ถฐ์ง ํ ์ฌ์ฉํด๋ณด๊ธฐ๋ฅผ ๊ถ์ฅํฉ๋๋ค. ์ ์ด๋ STL์ ์ถฉ๋ถํ ๋ผ์ฌํ์ง ์์๊น ์๊ฐํฉ๋๋ค.
ํฌ์คํ
๊ณผ ํฅํ..
OpenCV๋ ํ์ฌ ์ ๊ฐ ํ๋ถ์์ ๋ฐฐ์ฐ๊ณ ์๋ ๊ฒ ์ค ํ๋์ ๋๋ค. ์์ ์๋ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๋ ค๊ณ ์๋ํ์์ง๋ง ๋งค์ฐ ์ด๋ ค์ด ํ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐํ๋ ๋ฐ ๊ฐ์ฅ ๋ฌธ์ ๊ฐ ์ปธ์๋ ๊ฒ์ ๋ฐ๋ก ์์์ ๋ํ ๊ธฐ๋ณธ ์ง์ ๋ถ์กฑ์ด ๋ฌธ์ ์์ต๋๋ค. (์ฌ์ค ์ง๊ธ๋ ๊ทธ๋ฌํฉ๋๋ค... ใ ใ )
๊ฐ๋ ๊ณผ ๋๋ถ์ด ๋์ค์ ํ์์ธ ์ ๊ฐ ๋ดค์ ๋๋ ์ดํดํ๊ธฐ ์ฝ๋๋ก ์์ฑํ ์์ ์ด๋ฉฐ ์ค์นํ๋ ๋ฐฉ๋ฒ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ ๋ฑ์ ๊ฐ๋ตํ๊ฒ๋๋ง ํฌ์คํ ํ ๊ฒ์ ๋๋ค.
'Programming > OpenCV' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[GP] OpenCV Trackbar ์ฃผ๋ฌด๋ฅด๊ธฐ (0) | 2017.03.01 |
---|---|
OpenCV์์ KeyEvent๋ฅผ ์ฌ์ฉํด๋ณด์. (0) | 2017.01.21 |
OpenCV์์ Mouse Event๋ฅผ ์ฌ์ฉํด๋ณด์ (0) | 2016.12.18 |
OpenCV์ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ฐฉ๋ฒ๊ณผ Mat ํด๋์ค (0) | 2016.11.20 |
Ubuntu 16.04 ์์ OpenCV 3.x ์ค์น (0) | 2016.11.06 |