画像処理入門 >
初級編 >
膨張
膨張
膨張
サンプルプログラム
void dilation(unsigned char *out, unsigned char *in, int inHeight, int inWidth, int value){
int ix, iy, jx, jy;
int outX, outY;
memset(out, 0, inWidth * inHeight);
for(iy = 0; iy < inHeight; ++iy){
for(ix = 0; ix < inWidth; ++ix){
if(in[iy * inWidth + ix] == 255){
for(jy = -value; jy <= value; ++jy){
outY = iy + jy;
// 画像領域外チェック
if( (outY < 0) || (outY >= (inHeight - 1)) ){
continue;
}
for(jx = -value; jx <= value; ++jx){
outX = ix + jx;
// 画像領域外チェック
if( (outX < 0) || (outX >= (inWidth - 1)) ){
continue;
}
out[outY * inWidth + outX] = 255;
}
}
}
}
}
}