- int median_value(unsigned char c[9]);
- /*---median---利用中值滤波法去除噪声----------------------------------
- image_in: 输入图像数组
- image_out: 输出图像数组
- --------------------------------------------------------------------*/
- void median(unsigned char image_in[Y_SIZE][X_SIZE],
- unsigned char image_out[Y_SIZE][X_SIZE])
- {
- int i, j;
- unsigned char c[9];
- for(i = 1; i < Y_SIZE-1; i++)
- {
- for(j = 1; j < X_SIZE-1; j++)
- {
- c[0] = (int)image_in[i-1][j-1];
- c[1] = (int)image_in[i-1][j];
- c[2] = (int)image_in[i-1][j+1];
- c[3] = (int)image_in[i][j-1];
- c[4] = (int)image_in[i][j];
- c[5] = (int)image_in[i][j+1];
- c[6] = (int)image_in[i+1][j-1];
- c[7] = (int)image_in[i+1][j];
- c[8] = (int)image_in[i+1][j+1];
- image_out[i][j] = median_value(c);
- }
- }
- }
- /*---median_value---求出9个像素的中央值-------------------------------
- c: 像素
- --------------------------------------------------------------------*/
- int median_value(unsigned char c[9])
- {
- int i, j, buf;
- for(j = 0; j < 8; j++)
- {
- for(i = 1; i < 8; i++)
- {
- if(c[i+1] < c[i])
- {
- buf = c[i+1];
- c[i+1] = c[i];
- c[i] = buf;
- }
- }
- }
- return c[4];
- }
去除噪声(中值滤波法)(C语言程序)
最新推荐文章于 2024-05-13 23:49:06 发布