Loading...
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 ๊ทธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด,..