Loading...
2017. 4. 9. 23:32

๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ - Socket

๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ธฐ ์ „์—๋Š” Socket ์ด๋ผ๋Š” ๊ฐœ๋…์„ ์ดํ•ดํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด, ๋Œ€๋ถ€๋ถ„ ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋žจ์—๋Š” ๋ฐ”๋กœ ์ด ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ์„ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์ง€์š”. ์˜ค๋Š˜์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋‹ค๊ฐ€๊ฐ€๋Š” ๋„คํŠธ์›Œํฌ ์ฒซ ๊ฑธ์Œ์ธ ์†Œ์ผ“์— ๋Œ€ํ•ด ์‹œ์ž‘ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. Network Socket ์†Œ์ผ“์ด๋ผ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ์š”? ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ์ด์ œ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด๋ผ๋ฉด, ํ•œ ๋ฒˆ ์ฏค์€ ๋“ค์–ด๋ดค์„ ๋ฒ•ํ•œ ๋‹จ์–ด์ž…๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ์ด์•ผ๊ธฐํ•˜๋Š” ์†Œ์ผ“์€ ๋ณดํ†ต ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์š”์ฆ˜์—๋Š” ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•œ ํ†ต์‹ ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท ์†Œ์ผ“์ด๋ผ๊ณ ๋„ ์ด์•ผ๊ธฐ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ”๋กœ ์ด ์†Œ์ผ“์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. BSD UNIX ์šด์˜์ฒด์ œ์—์„œ ์ฒ˜์Œ ์†Œ๊ฐœ ๋œ ์†Œ..

2017. 4. 8. 00:18

Linux๋กœ ์‹œ์ž‘ํ•ด๋ณด๋Š” ๊ฐ„๋‹จํ•œ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์•„์ง ์†Œ์ผ“์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๊ตฌ์š”? ์•„๋ž˜์˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Socket ํฌ์ŠคํŠธ๋ฅผ ๋ฏธ๋ฆฌ ์ฝ์–ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ - Socket BSD Unix Socket ๊ตฌ์„ฑ์œ ๋‹‰์Šค์—์„œ ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ๋Š” ํŒŒ์ผ๋กœ ํ•˜์—ฌ๊ธˆ ํ†ต์‹ ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์œ ๋‹‰์Šค์˜ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์€ ํŒŒ์ผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ์œ ๋‹‰์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ read, write ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋„ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅํ•˜๊ณ  ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ Unix Programming์—์„œ ํŒŒ์ผ์„ ์ƒˆ๋กœ ์—ด ๋•Œ, open ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. open ํ•จ์ˆ˜๋Š” int ํ˜• ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ์ด ๋ฐ˜ํ™˜ ๊ฐ’์€ File descripter Index์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์ถœ์ฒ˜: (ํ•œ๊ตญ์†Œํ”„ํŠธ์›จ์–ด์ง„ํฅ์› ์ €, Network Programmi..

2017. 3. 16. 23:12

Raspberry PI 3 Model B๋ฅผ ์จ๋ณด๋‹ค

๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๊ฐ€์ง€๊ณ ๋Š” ์žˆ์—ˆ์ง€๋งŒ, ์žฅ๋กฑ์— ๋ชจ์…”๋‘๊ธฐ๋งŒ ํ–ˆ์ง€, ๊ด€์‹ฌ์„ ๊ฐ€์ง€์ง€ ์•Š์€์ง€ ํ•œ 2๋…„ ์ฏค ๋œ ๋“ฏํ•˜๋„ค์š”. ์ตœ๊ทผ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด 3 Model B๋ฅผ ๊ตฌํ•˜๊ฒŒ ๋˜์–ด, ๊ฐ„๋‹จํ•œ ๊ฐœ๋ด‰๊ธฐ์™€ ์‚ฌ์šฉ๊ธฐ๋ฅผ ์˜ฌ๋ ค๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Raspberry Pi 3 Model B ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด์— ์ œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ Raspberry PI 1 Model B์™€ ํฌ๊ธฐ๋Š” ๋˜‘๊ฐ™์œผ๋ฉด์„œ ๋” ๋†’์€ ์„ฑ๋Šฅ๊ณผ ๋” ๋งŽ์€ ํฌํŠธ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋Š” ๋…€์„์ž…๋‹ˆ๋‹ค. (์นด๋ฉ”๋ผ๊ฐ€ ์—†์–ด์„œ, ์ œ ํฐ์ธ Galaxy S6๋กœ ์ดฌ์—ฌํ•œ ์‚ฌ์ง„์ž…๋‹ˆ๋‹ค. ) Raspberry PI Model B 1 vs 3 ๋น„๊ต ๋งŽ์€ ์‚ฌ์ดํŠธ์™€ ๋ธ”๋กœ๊ทธ์—๋„ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ๊ธ€์€ ๋งŽ์ด ์žˆ์ง€๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋น„๊ต ๋ถ„์„ํ•ด๋ณด์ž๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์ด ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Raspberry PI 1 Model B Raspberry PI..

2017. 3. 9. 12:33

WD SSD Blue๋ฅผ ๊ตฌ์ž…ํ•˜๋‹ค

๋ธ”๋กœ๊ทธ์— ์›ฌ๋งŒํ•˜๋ฉด, ํ•˜๋“œ์›จ์–ด ๊ธ€์„ ์˜ฌ๋ฆฌ์ง€ ์•Š์œผ๋ ค ํ•˜์ง€๋งŒ, ๊ฐ„๋งŒ์— ํฐ ๋งˆ์Œ์„ ๋จน๊ณ  SSD 250G์™€ RAM 8G๋ฅผ ๊ตฌ์ž…ํ•˜์—ฌ ์ฒ˜์Œ์œผ๋กœ ํ•˜๋“œ์›จ์–ด ๊ธ€์„ ์˜ฌ๋ ค๋ด…๋‹ˆ๋‹ค. SSD ๊ตฌ์ž… ๊ณ„๊ธฐ๋ธ”๋กœ๊ทธ ๊ธ€์—๋„ ๋ณด๋‹ค์‹œํ”ผ ์ €๋Š” Linux์™€ Windows๋ฅผ ๋ฉ€ํ‹ฐ ๋ถ€ํŒ…ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ SSD 128G๋ผ๋Š” ์šฉ๋Ÿ‰์œผ๋กœ๋Š” ๋„์ €ํžˆ ๋‘ ์šด์˜์ฒด์ œ๋ฅผ ์›ํ™œํžˆ ๋Œ๋ฆฌ๊ธฐ๊ฐ€ ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋žตํ•˜๊ฒŒ ๋‚˜๋งˆ ์ œ๊ฐ€ ๋‘ OS๋ฅผ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ ์„œ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ์š”์•ฝํ•˜์ž๋ฉด.. Linux Windows SSD ๋น„์ค‘ ์•ฝ 40GB ์‚ฌ์šฉํ•˜์—ฌ '/'(์ตœ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ) ๋งˆ์šดํŠธ ์•ฝ 80GB ์ •๋„ ์‚ฌ์šฉํ•˜์—ฌ Program (์ผ๋ถ€) ๋ฐ Windows System File ์ €์žฅ HDD ๋น„์ค‘ 320G๋ฅผ /home, 20G /var, 120G /usr ๋งˆ์šดํŠธ User Profil..

[GP] Boost Library ์„ค์น˜์™€ ์‚ฌ์šฉ

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์Œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ, CMake์— ๊ด€ํ•œ ํฌ์ŠคํŠธ๋ฅผ Tistory์— ๊ฒŒ์‹œ๋ฅผ ํ•ด๋ฒ„๋ ธ๋„ค์š”. ์ด ๊ฐœ๋ฐœ์ž ํŽ˜์ด์ง€์— ์‹ ๊ฒฝ์„ ์ผ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์•„๋ฌด๋ž˜๋„ ์•„์ง Tistory ๋ธ”๋กœ๊ทธ๋Š” ์žŠํ˜€์ง€์ง€ ์•Š์•˜๋‚˜ ๋ด…๋‹ˆ๋‹ค. (๋‹ค์Œ์—๋Š” ๊ฐœ๋ฐœ ํฌ์ŠคํŠธ๋ฅผ ๋ฐ˜๋“œ์‹œ ์—ฌ๊ธฐ์— ๊ฒŒ์‹œํ•˜๋„๋ก ํ• ๊ฒŒ์š” ใ… ใ… ) ์ตœ๊ทผ ์ €๋Š” C++ ์–ธ์–ด์— ๋‹ค์‹œ ๋ชฐ๋‘ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋…„๊นŒ์ง€๋Š” ํ•™๋ถ€ ์ˆ˜์—…์—์„œ ๋‘ ๊ฐœ ์ด์ƒ Java ์–ธ์–ด๋กœ ์ˆ˜์—…์„ ๋ฐ›์•˜์—ˆ(?)... ์‚ฌ์‹ค OpenCV๋Š” C++ ์–ธ์–ด๋กœ ์ง„ํ–‰ํ•˜๊ธด ํ–ˆ์Šต๋‹ˆ๋‹ค๋งŒ Java ์–ธ์–ด๋กœ ์ˆ˜์—…๋ฐ›์•˜๋˜ ๋‘ ๊ณผ๋ชฉ์ด ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰๋˜๋Š” ๊ณผ๋ชฉ์ด์–ด์„œ ์–ด์ฉŒ๋‹ค๋ณด๋‹ˆ Java์— ๋ชฐ๋‘ํ•˜๊ฒŒ ๋˜์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ C++ ์–ธ์–ด๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋‹ˆ ๋„ˆ๋ฌด ์–ด๋ ค์šด๊ฒŒ ์ต์ˆ™ํ•˜์ง€๊ฐ€ ์•Š์•„ ๋ธ”๋กœ๊ทธ์— ์กฐ๊ธˆ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•ฉ..

2017. 3. 4. 16:21

CMake๋ฅผ ์ด์šฉํ•œ C/C++ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ

Makefile์ด๋ผ๋Š” ๊ฒƒ์„ ํ•œ ๋ฒˆ ์ฏค์€ ๋‹ค๋“ค ๋“ค์–ด๋ณด์…จ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Visual Studio IDE ๋„๊ตฌ๋ฅผ ์ด์šฉํ•˜๋ฉด Makefile์„ ์˜คํžˆ๋ ค ๋ณด๊ธฐ ํž˜๋“ค ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, Unix, Linux์—์„œ C, C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์…จ๋‹ค๊ฑฐ๋‚˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, ํ•œ ๋ฒˆ ์ฏค์€ ๋‹ค๋“ค ์ ‘ํ•ด๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Makefile์ด ํฌ์ŠคํŠธ๋Š” CMake์— ๋Œ€ํ•œ ํฌ์ŠคํŠธ์ด์ง€๋งŒ, ๊ทธ ์ „์— Makefile์ด๋ž€ ๊ฒƒ์— ๋Œ€ํ•ด์„œ ๋ช‡ ๊ฐ€์ง€ ์ ์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์ €์˜ ๋ธ”๋กœ๊ทธ์—์„œ OpenCV ์„ค์น˜์™€ ๊ด€๋ จ๋œ ํฌ์ŠคํŠธ๋ฅผ ๋ณด์‹  ๋ถ„์ด๋ผ๋ฉด, ์•„๋งˆ ์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. $ make -j $(nproc) $ sudo make install์—ฌ๊ธฐ์„œ ์ค‘์ ์ ์ธ ์ปค๋งจ๋“œ๋Š” make ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค make ๋ช…๋ น์–ด๊ฐ€ ๋“ค์–ด๊ฐ„ .sh..

2017. 3. 1. 12:58

[GP] OpenCV Trackbar ์ฃผ๋ฌด๋ฅด๊ธฐ

์ด ๊ธ€์€ ์ €์˜ Github Page์˜ ๋‚ด์šฉ ์ค‘ ์ผ๋ถ€๋ฅผ ๋‹ด์•„์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ˆ๋…•ํ•˜์„ธ์š”. ์ƒˆ๋กœ์šด ๋ธ”๋กœ๊ทธ์— ์ €๋„ ๋ชจ๋ฅด๊ฒŒ ์ƒ์พŒํ•œ ๊ธฐ๋ถ„์ด๊ตฐ์š”. ์˜ค๋Š˜์€ Tistory ๋ธ”๋กœ๊ทธ์— ์ด์–ด์„œ, ๊ณ„์† OpenCV ์ฝ”๋“œ ์นดํ…Œ๊ณ ๋ฆฌ ๊ธ€ ์ž‘์„ฑ์„ ๊ณ„์†ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. TrackbarOpenCV์—๋Š” Trackbar๋ผ๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. (์‚ฌ์‹ค ์ปดํฌ๋„ŒํŠธ๋ผ๊ณ  ํ•˜๊ธฐ์—๋Š” ์กฐ๊ธˆ ํ ์ด ์žˆ์ง€๋งŒ…) ์—ฌ๋Ÿฌ๋ถ„์ด ์›ํ•˜๋Š” ์˜์ƒ์„ ๋งˆ์šฐ์Šค์˜ ๋“œ๋ž˜๊ทธ๋งŒ์œผ๋กœ ํ˜•์ƒ์„ ๋ณ€ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด์ง€์š”. ๋ง์”€๋งŒ์œผ๋กœ๋Š” ์„ค๋ช…์ด ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉฐ ์„ค๋ช…์„ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์œ„ ์‚ฌ์ง„์€ Trackbar๋ฅผ ์›€์ง์—ฌ์„œ ๊ฐ€์šด๋ฐ์— ์›์„ ๊ทธ๋ ค๋†“๊ณ  ๊ทธ ํฌ๊ธฐ๋ฅผ ์ ์  ๋Š˜๋ฆฌ๊ณ  ์ค„์ด๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ณต๊ฐœํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์–ด์„œ ์ฝ์œผ์‹œ๋ ค๋ฉด ์•„๋ž˜์˜ ๋ฒ„ํŠผ์„..

2017. 2. 24. 13:03

Cerebro Search - OS X Spotlight ๊ฒ€์ƒ‰

๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ํ•˜๋‚˜ ์†Œ๊ฐœํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. OS X์˜ UI/UX๋ฅผ ๋„ˆ๋ฌด ์ข‹์•„ํ•˜๋Š” ๋‚˜๋จธ์ง€ ์ฐจ๋งˆ Macbook ๊ตฌ์ž…ํ•˜๋Š” ๊ฒƒ์€ ๋ชปํ•˜๊ณ , Ubuntu Linux์— Mac OS X ๋ƒ„์ƒˆ๋ฅผ ํ’๊ธฐ์›Œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์‚ฌ์‹ค ์ €๋Š” OS X ๋ณด๋‹ค๋Š” Linux๋ฅผ ๋” ์ข‹์•„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. Spotlight SearchOS X์—๋Š” Spotlight ๊ฒ€์ƒ‰์ด ์žˆ์Šต๋‹ˆ๋‹ค. Spotlight ๊ฒ€์ƒ‰์€ ๊ฒ€์ƒ‰ ์œ„์ ฏ๋ฐ”์™€ ๋น„์Šทํ•œ ๊ฒƒ์„ ๋„์›Œ ๋งˆ์น˜ Windows์˜ ์‹คํ–‰ ์ฐฝ์—์„œ ๋ชจ๋“  ์ปค๋งจ๋“œ๋ฅผ ๋™์ž‘์‹œํ‚ค๊ณ , ๊ฒŒ๋‹ค๊ฐ€ ์›น์ด๋ž‘ ์—ฐ๋™ํ•ด ์›ํ•˜๋Š” ๊ฒ€์ƒ‰์„ ๋„์›Œ์ฃผ๊ธฐ๋„ ํ•˜๋Š” OS X ์˜ ์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์˜ ํ”„๋กœ๊ทธ๋žจ์—๋Š” Linux์—์„œ Albert์ด๋ผ๊ณ  ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Albert์€ ์ผ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ž„์—๋„ ๋ถˆ๊ตฌ..

2017. 2. 21. 11:46

Mono๋ฅผ ์‚ฌ์šฉํ•œ C# ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๊ฒŒ์ž„ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ด€์‹ฌ์„ ๊ฐ–๊ณ , ๊ณต๋ถ€๋ฅผ ํ•˜๊ฒŒ ๋œ ์ €๋Š” C#์ด๋ผ๋Š” ์–ธ์–ด๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  C# ์–ธ์–ด๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•œ ๊ฑด ์•„๋‹ˆ์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  ์ •์‹์œผ๋กœ ๋ฐฐ์šด ์–ธ์–ด๋„ ์•„๋‹ˆ์—ˆ๊ณ , ๊ธฐ๊ปํ•œ ๊ฒƒ์ด๋ผ๊ณ ๋Š” Visual Basic ์–ธ์–ด๋ฅผ ํƒˆํ”ผํ•˜๊ณ ์ž ์ž ์‹œ ์‚ฌ์šฉํ•ด๋ณธ ๊ฒƒ ์ •๋„์˜€์Šต๋‹ˆ๋‹ค. Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ดC# ์–ธ์–ด์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ์ ์–ด๋ณด๊ธฐ ์ „์— ์ด ์–ธ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ๋ถ€ํ„ฐ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.C# ์–ธ์–ด๋Š” Microsoft์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” C++ ์–ธ์–ด ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ๋ฌธ๋ฒ•์€ C++์™€ Java ๋น„์Šทํ•˜์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„ Java์™€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. C# ์–ธ์–ด๋Š” Microsoft์—์„œ ๊ฐœ๋ฐœํ•œ .NET Framework์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ์ตœ์ดˆ .NET Framework 1.0 ๋ฒ„์ „์ด ..

2017. 1. 26. 11:02

chkmd5 (ํŒŒ์ผ MD5 ํ•ด์‹œ๊ฐ’ ๊ฐ€์ ธ์˜ค๋Š” ํ”„๋กœ๊ทธ๋žจ, only Windows OS)

์˜ค๋Š˜์€ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด๋ฅผ ํ•œ ๊ฐœ ๋งŒ๋“ค์–ด๋ดค์Šต๋‹ˆ๋‹ค.ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„, MD5 ํ•ด์‹œ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ํ”„๋กœ๊ทธ๋žจ์ธ๋ฐ์š”. ๋ช…๋ น์–ด ์‚ฌ์šฉ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด ์ด๋ฆ„(ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„)์„ ์ž…๋ ฅํ•œ ํ›„, ์›ํ•˜๋Š” ํŒŒ์ผ ํ˜น์€ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ํ•ด๋‹น ํŒŒ์ผ์˜ MD5 ๊ฐ’์„ ์ถœ๋ ฅํ•ด์ค๋‹ˆ๋‹ค. ํด๋”๋‚˜ ์—†๋Š” ํŒŒ์ผ๋ช…์„ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ, 5๋ฒˆ ์˜ค๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด์ค๋‹ˆ๋‹ค. Visual C++๋กœ ๊ฐœ๋ฐœC#์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, ์ €๋Š” C++๋กœ ํ•œ ๋ฒˆ ๊ฐœ๋ฐœํ•ด๋ดค๋Š”๋ฐ์š”.Windows์—์„œ ํŒŒ์ผ์˜ ํ•ด์‹œ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์จ๋“œ ํŒŒํ‹ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์ œ๊ฐ€ ์•Œ๊ธฐ๋กœ, ์•„๋งˆ ๊ธฐ๋ณธ ๋ช…๋ น์–ด๊ฐ€ ์—†๋Š”์ค„....) ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ ๊ทธ๋ƒฅ ์ปค๋งจ๋“œ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ƒ๊ฐํ•ด๋ณด๋‹ค๊ฐ€ ์žฌ๋ฏธ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ณ , ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ฆฌ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Win32 API ๋“ฑ W..

2017. 1. 21. 14:27

OpenCV์—์„œ KeyEvent๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž.

OpenCV 3๋ฒˆ์งธ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. OpenCV ํฌ์ŠคํŠธ๋ฅผ ์•ˆ์“ด์ง€๋„ ๊ฝค ์˜ค๋ž˜๋˜์—ˆ๋„ค์š”. ^^; ์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์˜์ƒ์— KeyEvent๋ฅผ ๋„ฃ์–ด ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ด๋ฒคํŠธ๋ฅผ ๋„ฃ์–ด๋ณด๋Š” ์‹ค์Šต์„ ํ•œ ๋ฒˆ ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. waitKey ํ•จ์ˆ˜์ง€๋‚œ ํฌ์ŠคํŠธ๋„, ์ฒ˜์Œ์— ํ–ˆ๋˜ ํฌ์ŠคํŠธ์—์„œ๋„, ์˜์ƒ์„ ๋„์šฐ๊ณ , ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” ์—ฌํƒœ๊นŒ์ง€ waitKey ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ ์กฐ๊ธˆ ๋ˆˆ์น˜๊ฐ€ ์žˆ์œผ์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, ์˜์ƒ์— ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ๋ฅผ ์ค„ ๋•Œ๋„ ์ด ํ•จ์ˆ˜๋ฅผ ๋ชจํƒœ๋กœ ๋‚˜๊ฐˆ ๊ฒƒ์ด๋ผ๋Š” ์˜ˆ์ธก์„ ํ•˜์ง€ ์•Š์•˜์„๊นŒ ์ƒ๊ฐํ•ด๋ณด๋Š”๋ฐ์š”. ๋งž์Šต๋‹ˆ๋‹ค. waitKey ํ•จ์ˆ˜์—๋Š” ์ธ์ž๊ฐ’์œผ๋กœ int ํ˜•ํƒœ์˜ ๊ฐ’์„ ๋„ฃ๊ณ , ๊ทธ ๊ฐ’์„ ๋‹ค์‹œ int ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ธ์ž๋กœ ์ฃผ๋Š” int ํ˜• ๊ฐ’์€ ๋ฌด์—‡์ด๊ณ , ์–ด๋–ค ๊ฐ’์„ ๋˜๋Œ๋ ค ๋ฐ›๋Š” ๊ฒƒ์ผ๊นŒ์š”? int wa..

2017. 1. 3. 22:44

Ubuntu 16.10 ๋ฒ„์ „์—์„œ nimf ์ž…๋ ฅ๊ธฐ ์„ค์น˜

๋ฆฌ๋ˆ…์Šค๋ฅผ ์ฃผ ์šด์˜์ฒด์ œ๋กœ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด, ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ฒ„์ „์„ ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ์˜ฌ๋ฆฌ๋‹ค ๋ณด๋ฉด, ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€์— ๋งž์ถฐ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•ด์•ผํ•  ๋•Œ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ํ˜ธํ™˜์ด ์•ˆ๋˜์„œ๋ผ๋“ ์ง€ ๋“ฑ ์ธ ๊ฒƒ์ด์ฃ . ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์จ๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, ๊ธฐ์กด ๋ฒ„์ „์—์„œ ์“ฐ๋˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ƒˆ๋กœ์šด ๋ฒ„์ „ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์— ์žˆ์ง€ ์•Š์•„, ์ง์ ‘ ๋นŒ๋“œํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€ ํ•˜๋ฉด, ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ ๋•Œ๋ฌธ์— ๋นŒ๋“œ๋ฅผ ํฌ๊ธฐํ•˜๋Š” ๋ถ„๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ๊ธ€ ์ž…๋ ฅ๊ธฐWindows ์šด์˜์ฒด์ œ์—์„œ๋Š” Microsoft์—์„œ ์ œ๊ณตํ•˜๋Š” ์ „์šฉ ์ž…๋ ฅ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•œ๊ธ€์˜ ๊ฒฝ์šฐ์—๋Š” IME ์ž…๋ ฅ๊ธฐ๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ฃ . ๊ณผ๊ฑฐ์—๋Š” MS Office ์ œํ’ˆ์— ๋ณ„๋„๋กœ IME ํƒ€ ๋ฒ„์ „๊นŒ์ง€ ๋‚ด์žฅ๋˜์–ด ์žˆ์–ด์„œ ํ˜ธํ™˜์„ฑ์—๋„ ๋งŽ์€ ๋ฌธ์ œ์˜ ์‚ฌ๋ก€๋“ค์ด ์žˆ์—ˆ์ฃ . (์ง€๊ธˆ์€ ์—†์–ด..

2017. 1. 1. 18:57

SmartDiary - ์ˆ˜์ž…, ์ง€์ถœ ๊ธฐ๋ฐ˜ํ˜• ๋‹ค์ด์–ด๋ฆฌ ํ”„๋กœ๊ทธ๋žจ

SmartDiary ๋ผ๊ณ  ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์†Œ๊ฐœํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. What is SmartDiary ?์ด ํ”„๋กœ๊ทธ๋žจ์€ ๋‹จ์ˆœํ•œ ๋‹ค์ด์–ด๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์ด์ง€๋งŒ, ์ผ๋ฐ˜์ ์ธ ๋‹ค์ด์–ด๋ฆฌ์™€ ๋‹ฌ๋ฆฌ, ๋‹ค์ด์–ด๋ฆฌ์— ์ˆ˜์ž…๊ณผ ์ง€์ถœ์„ ๊ธฐ๋กํ•˜๊ณ , ์›”๋งˆ๋‹ค ์ˆ˜์ž…, ์ง€์ถœ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋ณธ ๋‹ค์ด์–ด๋ฆฌ์˜ ์œ ํ˜•์—์„œ ์กฐ๊ธˆ ๋ณ€ํ˜•์‹œํ‚จ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๋ง๋ถ™์—ฌ์„œ, ์—ฌ๊ธฐ์— ๊ฐ ๋‚ ์งœ์— ๋ฌด์Šจ ์ผ์ •์ด ์žˆ์—ˆ๋Š”์ง€๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ์ผ์ •์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋‰ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋‰ด๋Š” ์ด 3๊ฐ€์ง€์˜ ๋ฉ”๋‰ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Diary์—์„œ ์ผ๊ธฐ๋ฅผ ์ ์„ ์ˆ˜ ์žˆ๊ณ , ํ•ด๋‹น Diary์— ์ˆ˜์ž…๊ณผ ์ง€์ถœ์„ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋Š” ๋ž€์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์— ์ˆ˜์ž…๊ณผ ์ง€์ถœ์„ ๊ธฐ๋กํ•˜๊ฒŒ ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ํ•ด๋‹น ๋‚ ์งœ์— ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š” ์ˆ˜์ž…๊ณผ ์ง€์ถœ์„ ์›”๋ณ„๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ์ž๋™์œผ๋กœ ๊ฒฐ์‚ฐํ•ด์ค๋‹ˆ๋‹ค. ๋‹ค์ด์–ด๋ฆฌ๋Š” ๋งˆํฌ์—… ..

2016. 12. 29. 16:08

MVC Pattern์— ๊ธฐ๋ฐ˜ํ•œ GUI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ JavaFX

Java GUI Programming ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” AWT, SWT, Swing, JavaFX๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์˜ ๊ฒฝ์šฐ, AWT์™€ Swing์œผ๋กœ๋งŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ–ˆ์—ˆ๋Š”๋ฐ์š”. ์•„๋งˆ ํ•ด๋ณด์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, Java์˜ GUI ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ์ข€ ๋‹ต๋‹ตํ•จ์„ ๋งŽ์ด ๋Š๋ผ์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ œ๊ฐ€ GUI Programming์œผ๋กœ ์ฒ˜์Œ ์ ‘ํ–ˆ๋˜ ๊ฒƒ์€ Visual Basic 6.0 ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฑ๋”ฑํ•˜๊ณ  ๊ณ ์ •์ ์ธ ๋Š๋‚Œ์˜ UI์˜€์ง€๋งŒ ๋ถ„๋ช…ํ•œ ๊ฒƒ์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ด์„œ ๊ต‰์žฅํžˆ ์‰ฝ๋‹ค๋Š” ์ ๊ณผ ๋”๋ถˆ์–ด ๋””์ž์ธ์„ ๊ทธ๋ƒฅ ๋งˆ์šฐ์Šค๋กœ๋งŒ ์™”๋‹ค๊ฐ”๋‹ค ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋Š” ์ ์ด ๋งค์šฐ ๋ฉ”๋ฆฌํŠธ ์žˆ์—ˆ์ง€์š”. ๊ทธ๋ฆฌ๊ณ , ๋กœ์ง๋งŒ ์ฝ”๋“œ๋กœ ์งœ๋ฉด, ํ”„๋กœ๊ทธ๋žจ์ด ๊ธˆ๋ฐฉ ๊ฐœ๋ฐœ์ด ๋˜์–ด ์ƒ์‚ฐ์„ฑ์ด ๋งค์šฐ ์ข‹์•˜๋˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๊ธฐ๋„ ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ง€๊ธˆ๋„ ์กด์žฌํ•˜๋Š” ์–ธ์–ด์ง€์š”. ํ•˜์ง€๋งŒ ์œ ์ผํ•œ ๋‹จ์ ์€ ..

System Call Function VS Library Call Function

์˜ค๋Š˜ ํฌ์ŠคํŠธ๋Š” ๊ฐœ๋ฐœ์ž๋กœ์จ ๋ฐ˜๋“œ์‹œ ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผํ•  ๋ถ€๋ถ„ ์ค‘์— ํ•˜๋‚˜๋ฅผ ์จ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์šฐ๋ฆฌ๋Š” ์ฝ˜์†” ํ™”๋ฉด์— ์–ด๋–ค ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ์— ์ž…์ถœ๋ ฅ์„ ํ•œ๋‹ค๊ฑฐ๋‚˜ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๊ฒŒ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๊ฐ๊ฐ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ํ•จ์ˆ˜๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”๋Œ€๋กœ ์ธ์ž๊ฐ’์„ ๋„ฃ๊ณ , ๊ทธ ์ธ์ž๊ฐ’์„ ๋„ฃ์€๋Œ€๋กœ ์ฝ”๋”ฉ์„ ํ•˜๋ฉด ์ถœ๋ ฅ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ด ํ•จ์ˆ˜์—๋„ ๋‘ ๊ฐ€์ง€์˜ ์กด์žฌ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๊ฐ€๋ น ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž๋ฉด.... ์ด๋Ÿฐ ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ์ฝ”๋“œ๋Š” ๋งŒ์•ฝ ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ์ฃ . ๋‹ค๋ฅธ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋„ ์—ญ์‹œ ํŒŒ์ผ์„ ์ฐพ์•„์„œ ์ฝ๊ณ , ํ•ด๋‹น ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๋Š” ์†Œ์Šค ์ฝ”๋“œ์ด์ฃ . ๋ถ„๋ช… ํ•˜๋Š” ์ผ์€ ๊ฐ™..

2016. 12. 18. 11:27

OpenCV์—์„œ Mouse Event๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž

์ €์—๊ฒŒ ๋งก๊ฒจ์ง„ 3๊ฐœ์˜ ํ”„๋กœ์ ํŠธ์™€ ๊ธฐ๋ง๊ณ ์‚ฌ๊ฐ€ ๋“œ๋””์–ด ๋์ด๋‚ฌ๋„ค์š”. ์ด๋Ÿฐ์ €๋Ÿฐ ์ผ๋“ค์ด ๋งŽ์•˜์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์— ๋Œ€ํ•ด ์†Œํ™€ํ•ด์ง€๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ ์ง€๋‚œ ํฌ์ŠคํŠธ์— ์ด์–ด์„œ OpenCV๋ฅผ ์ด์šฉํ•œ ํฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ”๋”ฉ์— ์žˆ์–ด์„œ MouseEvent๋Š” ๋งŽ์ด ๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฒ„ํŠผ ์•ก์…˜, ์ด๋ฒคํŠธ ์ด๋Ÿฐ ๊ฒƒ ๋งŽ์ด ๋ณด์…จ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์˜์ƒ ์ฒ˜๋ฆฌ์—์„œ ๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ๋Š” ์–ด๋–ค ์šฉ๋„๋กœ ์“ฐ์ผ๊นŒ์š”? ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์–ด๋–ค ์˜์ƒ์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ๋งŒ๋“ค์–ด์ง„ ์˜์ƒ์„ IplImage๋‚˜ Mat ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ์˜์ƒ์—์„œ ํ”ฝ์…€์ด ๋ช‡์ธ์ง€ ๊ถ๊ธˆํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. cout์œผ๋กœ Pixel ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ํ”ฝ์…€ ์ˆ˜ ๋”ฐ๋ผ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ์–‘์„ ์ถœ๋ ฅํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์ž์‹ ์ด ์›ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ฐ์–ด์„œ ์ฝ”๋”ฉ..

2016. 11. 20. 13:13

OpenCV์˜ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•๊ณผ Mat ํด๋ž˜์Šค

C++์—์„œ ์‹œ์ž‘ํ•˜๋Š” OpenCV์— ์ด์–ด์„œ, ์˜ค๋Š˜์€ OpenCV์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ํด๋ž˜์Šค๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. OpenCV๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ์—์„œ ์˜์ƒ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ํฌํ† ์ƒต ๋“ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” GRAYSCALEํšจ๊ณผ ๋“ฑ์€ ์ด๋Ÿฐ OpenCV์™€ ๋งค์šฐ ํก์‚ฌํ•˜๋ฉฐ ์ด๋ฅผ ์šฐ๋ฆฌ๊ฐ€ ๋ฌด๋ฃŒ๋กœ ์ง์ ‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ฐ”๋กœ OpenCV์˜€๋‹ค๋Š” ๊ฒƒ์„ ์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Image Processing ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์งˆ๊นŒ์š”? ๊ทธ ์ „์— ์ปดํ“จํ„ฐ์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ฃผ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€๋ถ€ํ„ฐ ํ•œ ๋ฒˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์œ„์— ์–ด๋–ค ํ•œ ์‚ฌ์ง„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ๊ทธ๋ƒฅ ๊ทธ์ € ์ด๋ฏธ์ง€์ผ ๋ฟ์ด์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ๋””์ง€ํ„ธํ™”๋œ ์ด๋ฏธ์ง€๋ผ๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋””์ง€ํ„ธํ™”๋œ ..

2016. 11. 6. 19:43

Ubuntu 16.04 ์—์„œ OpenCV 3.x ์„ค์น˜

OpenCV ์„ค์น˜์— ๋“ค์–ด๊ฐ€๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. OpenCV๋Š” OS X, Linux, Windows, Android, iOS ์–ด๋””์„œ๋“ ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์„ค์น˜ํ•˜๊ธฐ๊ฐ€ ์ข€ ๊นŒ๋‹ค๋กœ์šด Linux์—์„œ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ…ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์„ค์น˜๋ฅผ ์œ„ํ•œ ์ค€๋น„.. Linux์—์„œ OpenCV๋ฅผ ์„ค์น˜ํ•  ๋•Œ๋Š” ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜์™€ ๋‹ฌ๋ฆฌ ๋ฏธ๋ฆฌ ์ค€๋น„๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋กœ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ๋ฐ›์•„์„œ ์ปดํŒŒ์ผํ•˜์—ฌ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ค์น˜๋ฅผ ์œ„ํ•ด OpenCV ์†Œ์Šค ์ฝ”๋“œ์™€ ์ปดํŒŒ์ผ ๋„๊ตฌ๋ฅผ ์ค€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - OpenCV Source Code- build-essential, CMake, GCC- NVIDIA CUDA (Optional) ํ˜น์‹œ ์ž์‹ ์˜ ๋…ธํŠธ๋ถ์ด๋‚˜ PC์— NVIDIA ๊ทธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด,..