๐Ÿ“˜ Programming/OpenCV

[์˜์ƒ ์ฒ˜๋ฆฌ] ํ™”์†Œ ์˜์—ญ ์ฒ˜๋ฆฌ์˜ ํ™œ์šฉ ( ์— ๋ณด์‹ฑ, ๋ธ”๋Ÿฌ๋ง, ์ƒคํ”„๋‹, ๊ฒฝ๊ณ„์„  ๊ฒ€์ถœ)

ํ•œ์ฝ”๋”ฉ 2020. 12. 29. 22:55
728x90
728x90

ํ™”์†Œ ์˜์—ญ ์ฒ˜๋ฆฌ

์ž…๋ ฅ ํ™”์†Œ์™€ ๊ทธ ์ฃผ์œ„์˜ ํ™”์†Œ ๊ฐ’์„ ํ•จ๊ป˜ ๊ณ ๋ คํ•˜์—ฌ ํ™”์†Œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณต๊ฐ„ ์˜์—ญ ์—ฐ์‚ฐ์ž…๋‹ˆ๋‹ค.

ํ™”์†Œ์˜ ์› ๊ฐ’๊ณผ ์œ„์น˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ™”์†Œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ํ™”์†Œ ์  ์ฒ˜๋ฆฌ์™€ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

Output_pixel[x, y] : ํšŒ์„  ์ฒ˜๋ฆฌ๋กœ ์ถœ๋ ฅํ•œ ํ™”์†Œ

I[m, n] : ์ž…๋ ฅ ์˜์ƒ์˜ ํ™”์†Œ

M[m, n] : ์ž…๋ ฅ ์˜์ƒ์˜ ํ™”์†Œ์— ๋Œ€์‘ํ•˜๋Š” ๊ฐ€์ค‘์น˜( ๋งˆ์Šคํฌ ๊ฐ’ )

โ€‹

๋งˆ์Šคํฌ๋Š” ์ž…๋ ฅ ์˜์ƒ์˜ ํ™”์†Œ์˜ ์ˆ˜๋ž‘ ๊ฐ™๊ณ , ๊ฐ๊ฐ์˜ ์œ„์น˜์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋งˆ์Šคํฌ๊ฐ€ ์ ์šฉ๋œ ์˜์ƒ์„ ํšŒ์„  ๋งˆ์Šคํฌ(Convolution Mask)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

โ€‹

ํ™”์†Œ ์˜์—ญ ์ฒ˜๋ฆฌ๋Š” ํšŒ์„  ๊ธฐ๋ฒ•(Convolution Technique)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํšŒ์„  ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ํšŒ์„  ์ฒ˜๋ฆฌ(Convolution Processing)๋Š” ์›์‹œ ํ™”์†Œ์™€ ์ด์›ƒํ•˜๋Š” ๊ฐ ํ™”์†Œ์— ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ํ•ฉ์„ ์ถœ๋ ฅํ™”์†Œ๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

โ€‹

โ€‹

์ž…๋ ฅ ์˜์ƒ๊ณผ ํšŒ์„  ๋งˆ์Šคํฌ ์˜์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘˜์„ ํšŒ์„  ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถœ๋ ฅ ํ™”์†Œ(I5)๋ฅผ ์ƒ์„ฑํ•ด๋ด…์‹œ๋‹ค.

์ž…๋ ฅ ํ™”์†Œ์˜ ์ค‘์‹ฌ์„ ๊ธฐ์ค€์œผ๋กœ ๋งˆ์ฃผ๋ณด๋Š” ํ™”์†Œ๋ฅผ ๊ณฑํ•˜๊ณ  ๋ชจ๋‘ ํ•ฉ์‚ฐํ•œ ๊ฐ’์„ I5์— ์ƒˆ๋กญ๊ฒŒ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.


ํ™”์†Œ ์˜์—ญ ์ฒ˜๋ฆฌ ํ™œ์šฉ - ์— ๋ณด์‹ฑ ํšจ๊ณผ

์— ๋ณด์‹ฑ ํšจ๊ณผ๋Š” ์ž…๋ ฅ ์˜์ƒ์„ ์–‘๊ฐ ํ˜•ํƒœ๋กœ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

ํŠน์ • ๋ถ€๋ถ„์ด ๋ณผ๋กํ•ด ๋ณด์ด๋Š” ํšจ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

โ€‹

์•„๋ž˜์™€ ๊ฐ™์ด ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์— ๋ณด์‹ฑ ํšจ๊ณผ๋ฅผ ์ฃผ๋ฉด ๋ฝ€์†ก๋ฝ€์†กํ•˜๊ฒŒ ๋ฐ”๋€๋‹ˆ๋‹ค.

๋…ธ์ด์ฆˆ๊ฐ€ ๊ฐ์†Œํ•˜์˜€์ง€๋งŒ, ์›๋ณธ์˜ ์ด๋ฏธ์ง€๋„ ๋ง๊ฐ€์ง€๊ฒŒํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.


ํ™”์†Œ ์˜์—ญ ์ฒ˜๋ฆฌ ํ™œ์šฉ - ๋ธ”๋Ÿฌ๋ง ํšจ๊ณผ

๋ธ”๋Ÿฌ๋ง ํšจ๊ณผ๋Š” ์˜์ƒ์˜ ์„ธ๋ฐ€ํ•œ ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜์—ฌ ์˜์ƒ์„ ํ๋ฆฌ๊ฒŒ ํ•˜๊ฑฐ๋‚˜ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์˜์ƒ์˜ ์„ธ๋ฐ€ํ•œ ๋ถ€๋ถ„์ธ ์ฃผํŒŒ์ˆ˜ ์ถ•์—์„œ ๋ณด์ด๋Š” ๊ณ ์ฃผํŒŒ ์„ฑ๋ถ„์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

โ€‹

์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ค‘์น˜์˜ ํšŒ์„ ๋งˆ์Šคํฌ์ธ ์ €์—ญํ†ต๊ณผ ํ•„ํ„ฐ(Low Pass Filter)๋Š” ์ €์ฃผํŒŒ๋งŒ ํ†ต๊ณผ์‹œํ‚ค๊ณ , ๊ณ ์ฃผํŒŒ๋Š” ํ†ต๊ณผ์‹œํ‚ค์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ณ ์ฃผํŒŒ ์„ฑ๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋…ธ์ด์ฆˆ๊ฐ€ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.

โ€‹

์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋งˆ์Šคํฌ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ธ”๋Ÿฌ๋ง ์ •๋„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งˆ์Šคํฌ ์‚ฌ์ด์ฆˆ๊ฐ€ ํด์ˆ˜๋ก ํšจ๊ณผ๊ฐ€ ๊ฐ•ํ•˜์ง€๋งŒ, ๊ณ„์‚ฐ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.


ํ™”์†Œ ์˜์—ญ ์ฒ˜๋ฆฌ ํ™œ์šฉ - ์ƒคํ”„๋‹ ํšจ๊ณผ

๋ธ”๋Ÿฌ๋ง๊ณผ ๋ฐ˜๋Œ€์˜ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์ƒคํ”„๋‹ ํšจ๊ณผ๋Š” ์˜์ƒ์˜ ์ƒ์„ธํ•œ ๋ถ€๋ถ„์„ ๋”์šฑ ๋” ๊ฐ•์กฐํ•˜๋Š” ๊ธฐ์ˆ ๋กœ, ์ €์ฃผํŒŒ ์„ฑ๋ถ„์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

โ€‹

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์‚ฌ์šฉ๋˜๋Š” ๊ฐ€์ค‘์น˜์˜ ํšŒ์„  ๋งˆ์Šคํฌ๋Š” ๊ณ ์—ญ ํ†ต๊ณผ ํ•„ํ„ฐ(High Pass Filter)๋กœ ๊ณ ์ฃผํŒŒ๋งŒ ํ†ต๊ณผ์‹œํ‚ค๊ณ , ์ €์ฃผํŒŒ๋Š” ํ†ต๊ณผ์‹œํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


ํ™”์†Œ ์˜์—ญ ์ฒ˜๋ฆฌ ํ™œ์šฉ - ๊ฒฝ๊ณ„์„  ๊ฒ€์ถœ

๊ฒฝ๊ณ„์„  ๊ฒ€์ถœ ๊ธฐ๋ฒ•์€ ๋ง ๊ทธ๋Œ€๋กœ ๊ฒฝ๊ณ„์„ ์„ ์ฐพ์•„๋‚ด๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

โ€‹

๊ฒฝ๊ณ„์„ ์€ ์˜์ƒ์˜ ๋ฐ๊ธฐ๊ฐ€ ๋‚ฎ์€ ๊ฐ’์—์„œ ๋†’์€ ๊ฐ’์œผ๋กœ, ๋˜๋Š” ๊ทธ ๋ฐ˜๋Œ€๋กœ ๋ณ€ํ•˜๋Š” ์ง€์ ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฒฝ๊ณ„์„ ์ด ์žˆ์–ด ์ž…๋ ฅํ•œ ์˜์ƒ์˜ ์ •๋ณด๊ฐ€ ๋งŽ์ด ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

โ€‹

728x90
๋ฐ˜์‘ํ˜•