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

๋ฐ˜์‘ํ˜•

OpenCV 3๋ฒˆ์งธ ํฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. OpenCV ํฌ์ŠคํŠธ๋ฅผ ์•ˆ์“ด์ง€๋„ ๊ฝค ์˜ค๋ž˜๋˜์—ˆ๋„ค์š”. ^^;


์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ์˜์ƒ์— KeyEvent๋ฅผ ๋„ฃ์–ด ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ด๋ฒคํŠธ๋ฅผ ๋„ฃ์–ด๋ณด๋Š” ์‹ค์Šต์„ ํ•œ ๋ฒˆ ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.


waitKey ํ•จ์ˆ˜

์ง€๋‚œ ํฌ์ŠคํŠธ๋„, ์ฒ˜์Œ์— ํ–ˆ๋˜ ํฌ์ŠคํŠธ์—์„œ๋„, ์˜์ƒ์„ ๋„์šฐ๊ณ , ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” ์—ฌํƒœ๊นŒ์ง€ waitKey ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ ์กฐ๊ธˆ ๋ˆˆ์น˜๊ฐ€ ์žˆ์œผ์‹  ๋ถ„๋“ค์ด๋ผ๋ฉด, ์˜์ƒ์— ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ๋ฅผ ์ค„ ๋•Œ๋„ ์ด ํ•จ์ˆ˜๋ฅผ ๋ชจํƒœ๋กœ ๋‚˜๊ฐˆ ๊ฒƒ์ด๋ผ๋Š” ์˜ˆ์ธก์„ ํ•˜์ง€ ์•Š์•˜์„๊นŒ ์ƒ๊ฐํ•ด๋ณด๋Š”๋ฐ์š”.


๋งž์Šต๋‹ˆ๋‹ค. waitKey ํ•จ์ˆ˜์—๋Š” ์ธ์ž๊ฐ’์œผ๋กœ int ํ˜•ํƒœ์˜ ๊ฐ’์„ ๋„ฃ๊ณ , ๊ทธ ๊ฐ’์„ ๋‹ค์‹œ int ํ˜•์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ธ์ž๋กœ ์ฃผ๋Š” int ํ˜• ๊ฐ’์€ ๋ฌด์—‡์ด๊ณ , ์–ด๋–ค ๊ฐ’์„ ๋˜๋Œ๋ ค ๋ฐ›๋Š” ๊ฒƒ์ผ๊นŒ์š”?


int waitKey(int delay = 0);


waitKey ํ•จ์ˆ˜์˜ ํ˜•ํƒœ๋Š” ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ธ์ž ๊ฐ’์€ delay ๊ฐ’์œผ๋กœ, key ์ž…๋ ฅ์„ ๋ฐ›์„ ์‹œ๊ฐ„์„ ์ฃผ์–ด์ค๋‹ˆ๋‹ค. ์•„๋ฌด ์ธ์ž๊ฐ’๋„ ๋„ฃ์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์ธ 0์„ ๋ถ€์—ฌํ•˜๊ณ , 0์„ ์ธ์ž๋กœ ์‚ผ์œผ๋ฉด ์ž…๋ ฅ ๋ฐ›๋Š” ์‹œ๊ฐ„์€ ๋ฌด๊ธฐํ•œ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„์˜ ๋‹จ์œ„๋Š” ๋ฐ€๋ฆฌ ์ดˆ์ž…๋‹ˆ๋‹ค. (1 Seconds = 1000 mili seconds)


์˜ˆ์‹œ์˜ ์ฝ”๋“œ๋กœ ๋ณด๋ฉด, ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์—ฌํƒœ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” waitKey์˜ ์ธ์ž ๊ฐ’์œผ๋กœ ์•„๋ฌด๋Ÿฐ ๊ฐ’์„ ์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅ ๋ฐ›๋Š” ์‹œ๊ฐ„์—๋Š” ์ œํ•œ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๋น ์ ธ๋‚˜์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š” Esc ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์ง€์š”.



KeyEvent ์‘์šฉ

๊ทธ๋Ÿผ ์œ„์— ์žˆ๋Š” ๊ฒƒ์„ ํ† ๋Œ€๋กœ, KeyEvent๋ฅผ ์‘์šฉํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ธ์ž ๊ฐ’์€ ํ‚ค ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค๋ฉด, waitKey ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๊ฐ’์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๋ฅธ ํ‚ค ์ด๋ฒคํŠธ์˜ ๊ฐ’์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด, ํ‚ค ์ด๋ฒคํŠธ ๊ฐ’์„ ๋ฐ›์•„ ํ•ด๋‹น ์ด๋ฒคํŠธ ํ‚ค ๊ฐ’์— ๋”ฐ๋ฅธ ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ?


๋จผ์ € ํ‚ค ์ด๋ฒคํŠธ ๊ฐ’์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


ํ‚ค ์ด๋ฒคํŠธ ๊ฐ’์„ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด, ์ €๋Š” ๋ฌดํ•œ ๋ฃจํ”„๋ฌธ์„ ์‚ฌ์šฉํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ ์–ด๋–ค ํ‚ค๊ฐ€ ์–ด๋–ค ๊ฐ’์ธ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์ž„์˜๋กœ 0์„ ๋•Œ๋ ค๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค(-_-;) ๊ทธ๋ฆฌ๊ณ  ์•„๋ฌด๋Ÿฐ ํ‚ค ๊ฐ’์„ ์ž…๋ ฅํ•ด๋ดค์Šต๋‹ˆ๋‹ค. 


ํ‚ค๋ฅผ ๋งˆ๊ตฌ์žก์ด๋กœ ๋ˆŒ๋Ÿฌ๋ณด๋‹ˆ ์ˆซ์ž๊ฐ€ ๋ง‰ ๋‚˜์˜ต๋‹ˆ๋‹ค. ESC ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด๋‹ˆ 0x10001b ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋Š” ESC ํ‚ค๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ, ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋„๋ก ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. 


๊ตฌํ˜„์€ ์ƒ๊ฐ๋ณด๋‹ค ๊ฝค ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.


์ด์ œ ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์ถฉ๋ถ„ํžˆ ์ดํ•ด๋์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋กœ, ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด, 2์ฑ„๋„์˜ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ณ , ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๊ฒ€์ •์ƒ‰์œผ๋กœ, ์™ผ์ชฝ์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ํฐ์ƒ‰์œผ๋กœ ์—ญํˆฌ์˜ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜์ƒ์„ ์งœ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


์œ„ ์˜์ƒ์€ ์„ธํฌ ์‚ฌ์ง„์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ๋ณธ๋ž˜๋Š” ์ปฌ๋Ÿฌ ์ด๋ฏธ์ง€์ด์ง€๋งŒ,
GRAYSCALE ๋กœ๋“œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด 3์ฑ„๋„์˜ ์ด๋ฏธ์ง€๋ฅผ 2์ฑ„๋„์˜ ํ‘๋ฐฑ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ขŒ, ์šฐ ํ‚ค๋ณด๋“œ๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 2์ฑ„๋„์˜ ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ž‘์„ฑํ•ด๋ดค์Šต๋‹ˆ๋‹ค.


ํŠน์„ฑ์ƒ 255์˜ ์ˆซ์ž๋ฅผ ๋„˜์ง€ ์•Š๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. 255๋ฅผ ๋„˜๊ธธ ๊ฒฝ์šฐ, ์ฐจํ›„์— ๋„ˆ๋ฌด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋„˜๊ฒจ๋„ ๋‹ค์‹œ ์™ผ์ชฝ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ๊ฐ€ ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กญ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.



๋งˆ์น˜๋ฉฐ...

๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ์— ์ด์–ด์„œ ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๋‚ด์šฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค.


๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋Š” ์–ด๋–ค ํŠน์ •ํ•œ ์˜์—ญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜์ƒ์„ ๋ฐ”๊ฟจ๊ธฐ ๋•Œ๋ฌธ์—, ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ์‰ฌ์šธ์ˆ˜๋„, ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค๋งŒ ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ๋Š” ์–ด๋–ค ์˜์—ญ์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์˜์ƒ ์ „์ฒด ์˜์—ญ์„ ๋ฐ”๊พธ๋Š” ๋ฐ ๊ธฐ์šธ์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


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

๋ฐ˜์‘ํ˜•
TAGS.

Tistory Comments