๐์ด ํฌ์คํธ์์ Laplacian Filter์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
Laplacian Filter๋ ์ฃ์ง ๊ฒ์ถ์ ์ด์ฉ๋๋ ํํฐ ์ค ํ๋์ ๋๋ค.
Laplacian Filter์ ํน์ง
๊ฒฝ๊ณ๋ฅผ ๊ฒ์ถํ๋๋ฐ๋ ๋ฏธ๋ถ์ด ๊ณ ๋ ค๋ฉ๋๋ค.
๋ฅผ ์ด์ฉํฉ๋๋ค.
๋๋ถ๋ถ์ ์ฃ์ง ๊ฒ์ถ ํํฐ๋ค์ด ์ด ๊ณต์์ ์ ์งํฉ๋๋ค.
ํฝ์ ์์ ๋ํด์ ๊ฐ 0์ผ๋ก ์๋ ด์ด ์๋๊ณ ์ต๋ํ ์๋ ดํ๋คํ์ ๋ ์ธ์ ํฝ์ ์ธ ๋ฐ๋ก ์ ํฝ์ ๊ณผ์ ๊ฑฐ๋ฆฌ์ธ ์ด ๋ ์ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ๋ผํ๋ผ์์ ํํฐ๋ 2์ฐจ ๋ฏธ๋ถ์ ๊ณ ๋ คํ ํํฐ์
๋๋ค.
1์ฐจ ๋ฏธ๋ถ์ ํจ์์ ๊ธฐ์ธ๊ธฐ๋ฅผ, 2์ฐจ ๋ฏธ๋ถ์ ํจ์์ ๊ณก๋ฅ ์ ๊ณ ๋ คํ ๊ฒ์ผ๋ก ๋ผํ๋ผ์์ ํํฐ๋ ์ด๋ฏธ์ง์ ๋ฐ๊ธฐ ๊ฐ์ ๋ณํ์จ์ด ํฐ ์ง์ ์ ๊ฐ์งํ๊ธฐ ์ํด 2์ฐจ ๋ฏธ๋ถ์ ์ฌ์ฉํฉ๋๋ค.
์ ์์์ผ๋ก ํํ๋ ์ ์์ต๋๋ค.
์ฝ๋๋ก ์ฝ๊ฒ ์ดํดํ์ค ์ ์์ ๊ฒ๋๋ค.
Laplacian_filter3x3 = np.array([[ 0,-1, 0],
[-1, 4,-1],
[ 0,-1, 0]])
Laplacian_filter3x3_2 = np.array([[-1,-1,-1],
[-1, 8,-1],
[-1,-1,-1]])
์ด๋ฐ ํํ๋ก ๊ฐ ์ธ๋ฑ์ค๋ค์ ํฉ์ด 0์ด ๋๊ฒ ์ ์งํ๋ฉด์ ์ค์์ ์์นํ ์ธ๋ฑ์ค๊ฐ ์ฃผํ์๊ฐ ํ ํ์ด์ผ ํฉ๋๋ค.
result_Laplacian = Convolution2D(Laplacian_filter3x3, image_moon)
result_Laplacian_2 = Convolution2D(Laplacian_filter3x3_2, image_moon)
cv2_imshow(result_Laplacian)
cv2_imshow(result_Laplacian_2)
๊ฒฐ๊ณผ๐จ๏ธ
๋ก ์ฃผํ์ ์ฐจ์ด๋ฅผ ๊ทน๋ช
ํ๊ฒ ์ค์๋ก ๋ ์ฐจ์ด๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
ํ์ง๋ง
Laplacian Filter์ ๋จ์
๋
ธ์ด์ฆ๋ฅผ ์ค์ด๋๋ฐ์ ๊ฐ์ฐ์์ ํํฐ๊ฐ ์ฌ์ฉ๋ฌ์์ฃ ๐
๊ฐ์ฐ์์ ํํฐ๋ฅผ ์ ์ฉํ์ฌ ๋ณด์ํ ๊ฒ์ด
์ ๋๋ค.
ํํฐ์ ์๋ฅผ ๋ณด๊ฒ ์ต๋๋ค.
LoG_filter = np.array([[ 0, 0,-1, 0, 0],
[ 0,-1,-2,-1, 0],
[-1,-2,16,-2,-1],
[ 0,-1,-2,-1, 0],
[ 0, 0,-1, 0, 0]])
Laplacian of Gaussian Filter๋ ํํ์ ํํฐ์
๋๋ค.
ํํฐ์ ์ค์ฌ์๋ ์ฃผํ์๊ฐ ๋๊ณ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐํ๋๋ค๊ฐ ์๋งํด์ง๋ ๋ชจ์์ผ๋ก ํํฐ๊ฐ ๊ทน์๊ฐ or ๊ทน๋๊ฐ์ ๊ฐ์ต๋๋ค.
2์ฐจ ๋ฏธ๋ถ์ ๊ณ ๋ คํ์์ผ๋ฏ๋ก ๊ฐ๋ฅํ ๊ฒ์
๋๋ค.
๋ฌ ์ฌ์ง์ ํ๋ฒ ํํฐ๋ฅผ ์ ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
result_LoG = Convolution2D(LoG_filter, image_moon)
cv2_imshow(result_LoG)
์... ๋ ์ ๋ฉํด์ง ๊ฒ ๊ฐ๋ค๋ง ํํฐ ํฌ๊ธฐ๊ฐ 5X5์ฌ์ ๊ทธ๋ฐ์ง ๋ถ์์ ํด ๋ณด์ ๋๋ค๐
์ ๋ ๊ฐ๋ฐ์์ธ๋ฐ ๊ฐ์ด ๊ต๋ฅ ๋ง์ด ํด๋ด์ ใ ใ ! ์๋ก ํ์ดํ ํฉ์๋ค!