영상처리 3

영상처리에서의 커널 (Kernel)

프로그래밍을 하다보면 커널 (Kernel) 이란 말을 자주보게 될 것이다. 그리고 이 글을 읽는 사람들은 커널이 뭔지 찾기 위해 녹색창 혹은 구글에 커널이란 말을 검색할 것이고 한글로 쳤다면 '대령' 이 나와 오잉 할 것이고 영어로 치면 '핵'이 나와 이게 뭐지 하는 생각이 들 것이다. 각 분야에서 사용되는 커널이란 말의 의미는 다를 것이지만 영상처리에서 커널은 픽셀의 주위에 연산을 해주는 행렬이다. 언제나 그렇듯이 설명에 그림이 포함되지 않으면 이해를 하기 힘들다. 커널을 그림으로 설명하면 아래와 같다. 픽셀 '픽셀'을 설명할 때 사용되었던 행렬이다. 이 행렬의 각 성분에 아래와 같은 행렬을 곱해준다고 생각해보자. (가장자리에서 경계를 초과하는 경우 지금 설명할 부분은 아니기 때문에 언급하지 않겠다.)..

영상처리에서의 침식과 팽창 - 1 (Erosion and Dilation in Image Processing)

블로그를 뒤지다보면 (언젠간 글이 많아져서 뒤질날이 오겠지) 침식과 팽창에 대한 설명, 그리고 픽셀에 대한 설명이 있다. 두 글을 다 읽었다는 전제하에 설명하겠다. 이 글의 순서는 1. 침식과 팽창을 어떤 용도로 사용하는지 알아보고 2. 침식팽창 알고리즘에 대해 설명한 뒤 3. 실제로 그 용도에 맞게 알고리즘을 사용하는 것을 보여줄 것이다. 영상처리에서 침식과 팽창을 하는 이유는 (내 기준에서) 네 가지 정도이다.ㄱ. 단순히 영상에서 작은 것을 크게 보기 위해 (팽창)ㄴ. 단순히 영상에서 작은 것들을 무시하기 위해(침식)ㄷ. 침식 -> 팽창 을 통한 Openingㄹ. 팽창 -> 침식 을 통한 Closing 영상처리에서 침식과 팽창은 특정 픽셀의 주위 부분에 대해 커널을 씌우는 것이다. 침식/팽창에서 사용..

영상처리에서의 픽셀

픽셀이란 (Picture element)의 약자이다. 픽셀의 유래는 컴퓨터가 발명되기 이전 19세기 후반 조르주 쇠라와 파울 시냐크 등이 그림을 점으로 찍어서 표현하는 점묘화라 봐도 손색이 없다. 그 당시에는 엄청난 노가다였으나 컴퓨터 발명 이후 빠른 속도로 현재도 유용하게 사용되고 있다. ( 나무위키) 조르주 쇠라의 점묘화 중 일부(https://namu.wiki/w/%ED%94%BD%EC%85%80) 1 bit 8x8 이미지의 예 그림 (좌) 픽셀 (우) 를 보자. 좌측은 그림판으로 한칸씩 찍어서 만든 그림이고 그 그림을 1bit 픽셀로 나타내면 우측과 같습니다. (사실 0이 검은색, 1이 흰색이지만 수정하기 귀찮아서 놔둡니다.) (Blur이 심한데 그림판에서 8x8 픽셀 이미지를 183x183으로 ..