πŸ“˜ Programming/OpenCV

[μ˜μƒ 처리] νšŒμ„  처리의 원리와 경계 λΆ€λΆ„ 처리

ν•œμ½”λ”© 2020. 12. 29. 23:35
728x90
728x90

ν™”μ†Œ μ˜μ—­ 처리

디지털 μ˜μƒμ²˜λ¦¬ μ‹œμŠ€ν…œμ€ μ„ ν˜• μ‹œλΆˆλ³€ μ‹œμŠ€ν…œμ΄λ―€λ‘œ, 이에 λ”°λ₯Έ κ²°κ³ΌλŠ” νšŒμ„  κΈ°λ²•μœΌλ‘œ 얻을 μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

​

νšŒμ„  κΈ°λ²•μœΌλ‘œ μƒμ„±λ˜λŠ” μƒˆλ‘œμš΄ ν™”μ†Œ 값은 μ΄μ›ƒν•œ ν™”μ†Œ κ°’κ³Ό λŒ€μ‘ν•˜λŠ” νšŒμ„  마슀크의 κ°€μ€‘μΉ˜λ₯Ό κ³±ν•œ λ’€ κ³±ν•œ 값을 λ”ν•΄μ„œ μƒμ„±ν•©λ‹ˆλ‹€.

​

κ°€μ€‘μΉ˜λŠ” μž‘μ€ 행렬인 νšŒμ„  마슀크(νšŒμ„  컀널)둜 κ΅¬μ„±λ©λ‹ˆλ‹€.

2차원 행렬이고, ν¬κΈ°λŠ” 무쑰건 ν™€μˆ˜ X ν™€μˆ˜ μ—¬μ•Όλ§Œ, 이 ν–‰λ ¬μ˜ 쀑앙 μš”μ†Œ μœ„μΉ˜κ°€ 좜λ ₯ ν™”μ†Œμ˜ μœ„μΉ˜μ— ν•΄λ‹Ήλ©λ‹ˆλ‹€.

​

μ˜μƒμ˜ νšŒμ„  처리λ₯Ό μœ„ν•΄ νšŒμ„  λ§ˆμŠ€ν¬κ°€ μ΄λ™ν•˜λ©΄μ„œ μˆ˜ν–‰λ©λ‹ˆλ‹€.

μ˜μƒμ˜ μ™Όμͺ½ μƒλ‹¨μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ λκΉŒμ§€ μ΄λ™ν•˜λ©΄, ν•œμΉΈ λ‚΄λ €κ°€ λ‹€μ‹œ μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ μ΄λ™ν•˜λ©° μˆ˜ν–‰ν•©λ‹ˆλ‹€.


νšŒμ„  마슀크 νŠΉμ§•

νšŒμ„  λ§ˆμŠ€ν¬λŠ” 각 λ°©ν–₯에 μžˆλŠ” 같은 수의 이웃 ν™”μ†Œμ— κΈ°λ°˜μ„ 두고 μƒˆλ‘œμš΄ ν™”μ†Œ 값을 생성해야 ν•˜κΈ° λ•Œλ¬Έμ—, μ£Όλ³€ ν™”μ†Œ 값을 각 λ°©ν–₯μ—μ„œ λŒ€μΉ­μ μœΌλ‘œ κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.

​

ν¬κΈ°λŠ” ν–‰κ³Ό 열이 λͺ¨λ‘ ν™€μˆ˜μ˜ 크기λ₯Ό κ°€μ Έμ•Όλ§Œ 쀑앙 ν™”μ†Œμ˜ 값을 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

​

νšŒμ„  κΈ°λ²•μœΌλ‘œ νƒ„μƒν•œ 좜λ ₯ μ˜μƒμ€ 무쑰건 μž…λ ₯ μ˜μƒμ˜ 밝기 μ—λ„ˆμ§€λ₯Ό κ·ΈλŒ€λ‘œ 보쑴해야 ν•˜κΈ° λ•Œλ¬Έμ—, μ˜μƒμ˜ 평균 밝기λ₯Ό μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€.

​

νšŒμ„ λœ μ˜μƒμ˜ 평균 밝기 값이 원본 μ˜μƒκ³Ό 같도둝 λ§Žμ€ νšŒμ„  마슀크의 κ³„μˆ˜ 합은 1이 λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

​

μ•„λž˜ 그림을 보면 첫번재 νšŒμ„  λ§ˆμŠ€ν¬λŠ” κ³„μˆ˜ 합이 1μž…λ‹ˆλ‹€. 이 νšŒμ„  마슀크λ₯Ό 톡해 νšŒμ„  처리λ₯Ό ν•˜μ—¬ μ „μ²΄μ μœΌλ‘œ 훨씐 λΆ€λ“œλŸ¬μš΄ μ˜μƒμ΄λ©΄μ„œ 원본 μ˜μƒκ³Ό 밝기가 κ°™μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, λ‘λ²ˆμ§Έ νšŒμ„  마슀크λ₯Ό 보면 κ³„μˆ˜ 합이 0μž…λ‹ˆλ‹€. 좜λ ₯ μ˜μƒμ€ 경계 λΆ€λΆ„λ§Œ κ²€μΆœλ˜μ–΄ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

​

일뢀 νšŒμ„  λ§ˆμŠ€ν¬μ—μ„ , 음수의 κ³„μˆ˜λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. 이 λ•Œ, κ³„μˆ˜ 합이 0이 λ˜λ„λ‘ 섀계해야 ν•©λ‹ˆλ‹€.

​

음의 κ³„μˆ˜μ—μ„œλŠ” 음의 ν™”μ†Œ 값이 생성될 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ, λ°κΈ°λŠ” 항상 μ–‘μ˜ κ°’λ§Ž μžˆμœΌλ―€λ‘œ μƒμ„±λœ ν™”μ†Œ 값에 μΌμ •ν•œ μƒμˆ˜μΈ 쀑간값(μ΅œλŒ€ 밝기의 1/2)을 λ”ν•΄μ„œ μ–‘μ˜ ν™”μ†Œ 값이 λ‚˜μ˜€λ„λ‘ μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

​

μ•„λž˜ Case 2λ₯Ό 보면 경계 λΆ€λΆ„μ—μ„œ κΈ‰κ²©ν•œ κ°’μ˜ λ³€ν™”κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€. λ”°λΌμ„œ, 음수의 값이 λ‚˜μ˜¨ 곳에 쀑간값을 λ”ν•˜μ—¬ μ–‘μˆ˜λ‘œ λ°”κΏ”μ€λ‹ˆλ‹€.


νšŒμ„ μ˜ 경계 λΆ€λΆ„ 처리 방법 - 0 μ‚½μž…

νšŒμ„  λ§ˆμŠ€ν¬λŠ” μ˜μƒμ˜ μ™Όμͺ½ μƒλ‹¨μ—μ„œ λΆ€ν„° 였λ₯Έμͺ½ ν•˜λ‹¨κΉŒμ§€ μ—°μ‚° ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, μ˜μƒμ˜ 경계 λΆ€λΆ„μ—λŠ” μ£Όμœ„ 값이 μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

​

μ΄λ ‡κ²Œ νšŒμ„  λ§ˆμŠ€ν¬μ— λŒ€μ‘ν•  μš”μ†Œκ°€ μ—†λŠ” μ˜μƒμ˜ ν™”μ†Œλ₯Ό μ²˜λ¦¬ν•˜λŠ” 방법을 경계 λΆ€λΆ„ 처리라고 ν•©λ‹ˆλ‹€.

​

첫번째 방법은 0 μ‚½μž… μž…λ‹ˆλ‹€.

λŒ€μ‘λ˜λŠ” 빈 μ˜μƒμ˜ ν™”μ†Œ 값을 λͺ¨λ‘ 0으둜 κ°€μ •ν•΄μ„œ μ²˜λ¦¬ν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€.

​

ν•˜μ§€λ§Œ, 0으둜 μ„€μ •ν•˜λ©΄ μ •ν™•ν™˜ νšŒμ„  μ²˜λ¦¬κ°€ λΆˆκ°€λŠ₯ν•΄μ§€λ―€λ‘œ 손싀이 λ°œμƒν•©λ‹ˆλ‹€.

그만큼 λ‹¨μˆœν•˜κ²Œ κ΅¬ν˜„ν•  수 μžˆλ‹€λŠ” μž₯점이 μžˆμŠ΅λ‹ˆλ‹€.


νšŒμ„ μ˜ 경계 λΆ€λΆ„ 처리 방법 - 쀑첩 λΆ€λΆ„μ—μ„œλ§Œ μˆ˜ν–‰

λ‘λ²ˆμ§Έ 방법은 쀑첩 λΆ€λΆ„μ—μ„œλ§Œ νšŒμ„  μˆ˜ν–‰μ„ ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

즉, νšŒμ„  λ§ˆμŠ€ν¬μ™€ μ˜μƒμ΄ μ™„μ „ν•˜κ²Œ μ€‘μ²©λ˜λŠ” μœ„μΉ˜μ—μ„œ νšŒμ„ μ„ μ‹œμž‘ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

λ”°λΌμ„œ, 쀑첩 λΆ€λΆ„μ—μ„œ νšŒμ„  μˆ˜ν–‰μ΄ λλ‚˜λ©΄ 경계 뢀뢄은 μž…λ ₯ μ˜μƒκ³Ό 같은 ν™”μ†Œ 값을 μ‚¬μš©ν•˜κ²Œ λ©λ‹ˆλ‹€.

​

예λ₯Ό λ“€μ–΄, νšŒμ„  마슀크의 크기가 3*3이면 λͺ¨λ“  νšŒμ„  마슀크의 μš”μ†Œμ™€ μ˜μƒμ˜ ν™”μ†Œκ°€ μ€‘μ²©λ˜λŠ” (1, 1)μœ„μΉ˜μ—μ„œ μ‹œμž‘ν•©λ‹ˆλ‹€.

​

이 λ°©λ²•μ˜ 단점은 경계 뢀뢄은 νšŒμ„  μ²˜λ¦¬κ°€ λ˜μ§€ μ•Šμ•„μ„œ, λͺ¨λ“  μ˜μ—­μ΄ μƒˆλ‘œμš΄ ν™”μ†Œ 값을 κ°€μ§ˆ μˆ˜κ°€ μ—†λŠ” κ²ƒμž…λ‹ˆλ‹€.


νšŒμ„ μ˜ 경계 λΆ€λΆ„ 처리 방법 - μ˜μƒμ˜ 크기λ₯Ό μ‘°μ •ν•˜μ—¬ νšŒμ„  μˆ˜ν–‰

μ„Έλ²ˆμ§Έ λ°©λ²•μœΌλ‘ , μ˜μƒμ˜ 크기λ₯Ό μ‘°μ ˆν•˜μ—¬ νšŒμ„  μˆ˜ν–‰ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

​

μ˜μƒμ˜ μ‹œμž‘κ³Ό 끝 뢀뢄이 μ—°κ²°λœ κ²ƒμœΌλ‘œ μ²˜λ¦¬ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

μ˜μƒμ΄ 폐곑선을 ν˜•μ„±ν•΄μ„œ μ˜μƒμ˜ 경계 뢀뢄이 빈 μ˜μƒμ˜ ν™”μ†Œ 값을 λŒ€μ‹ ν•©λ‹ˆλ‹€.

​

μž…λ ₯ μ˜μƒμ˜ 첫 λ²ˆμ§Έμ™€ 두 번재 ν–‰μ˜ λ§ˆμ§€λ§‰ 열에 μžˆλŠ” ν™”μ†Œμ™€ λ§ˆμ§€λ§‰ ν–‰μ˜ 첫 λ²ˆμ§Έμ™€ 두 번째 열에 μžˆλŠ” ν™”μ†Œμ™€ λŒ€κ°μ„  λ°©ν–₯으둜 λ§ˆμ§€λ§‰ ν–‰μ˜ λ§ˆμ§€λ§‰ μ—΄μ˜ ν™”μ†Œλ₯Ό 볡사해 μ‚¬μš©ν•©λ‹ˆλ‹€.

​

μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 였λ₯Έμͺ½ 그림을 보면, 색깔이 같은 블둝끼리 λŒ€μ‹ ν•΄μ„œ νšŒμ„  처리λ₯Ό ν•©λ‹ˆλ‹€.


​

728x90
λ°˜μ‘ν˜•