{
memcpy(psmoothPic, pcorrPic, width*height*sizeof(BYTE));
for (int j = 1; j < height - 1; j++)//排除鄰邊
{
for (int i = 1; i < width - 1; i++)
{
int k = 0;
BYTE window[9];
for (int jj = j - 1; jj < j + 2; ++jj)
for (int ii = i - 1; ii < i + 2; ++ii)
window[k++] = pcorrPic[jj * width + ii];
// 元素排序 (壹半即可)
for (int m = 0; m < 5; ++m)
{
int min = m;
for (int n = m + 1; n < 9; ++n)
if (window[n] < window[min])
min = n;
// 找到最小值應該放置的位置
BYTE temp = window[m];
window[m] = window[min];
window[min] = temp;
}
psmoothPic[j*width + i] = window[4];
}
}
}