문제 영상 "Lena.bmp"가 있다. Grayscale Y 영상을 얻은 후에, 여기에 다음 convolution mask(CM)을 적용하여 출력영상을 얻으세요 ![]() |
1. 코드
int i1, i2, i3, i4, i5, i6, i7, i8, i9;
int out;
BYTE* outBuf = new BYTE[m_Width * m_Height];
for (i = 1; i < m_Height; i++)
{
for (j = 1; j < m_Width; j++)
{
i1 = *(YBuf + (i - 1) * m_Width + j - 1);
i2 = *(YBuf + (i - 1) * m_Width + j);
i3 = *(YBuf + (i - 1) * m_Width + j + 1);
i4 = *(YBuf + i * m_Width + j - 1);
i5 = *(YBuf + i * m_Width + j);
i6 = *(YBuf + i * m_Width + j + 1);
i7 = *(YBuf + (i + 1) * m_Width + j - 1);
i8 = *(YBuf + (i + 1) * m_Width + j);
i9 = *(YBuf + (i + 1) * m_Width + j + 1);
//sharpening filter
out = ((-1) * i1 + (-1) * i2 + (-1) * i3 +
(-1) * i4 + (9) * i5 + (-1) * i6 +
(-1) * i7 + (-1) * i8 + (-1) * i9);
if (out > 255) out = 255;
if (out < 0) out = 0;
*(outBuf + i * m_Width + j) = (BYTE)out;
}
}
YBuf = outBuf;
2. 결과
'영상처리' 카테고리의 다른 글
[영상처리] 영상 확대 (0) | 2022.11.16 |
---|---|
[영상처리] Edge 검출을 위해서 Sobel Edge 연산자를 이용 (0) | 2022.11.16 |
[영상처리] Embossing filter (0) | 2022.11.16 |
[영상처리] Average Filter (0) | 2022.11.16 |
[영상처리] 딥러닝에서 사용하는 미분식을 coding 해보자 (0) | 2022.11.15 |