• 大小: 2KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-25
  • 语言: 其他
  • 标签: 中值滤波  

资源简介

自己参加竞赛改写的中值滤波C程序,模块程序。可直接嵌入。

资源截图

代码片段和文件信息

/*************************************************************************
 * 函数名称:
 *   MedianFilter()
 * 参数:
 *   int   iFilterH - 滤波器的高度
 *   int   iFilterW - 滤波器的宽度
 *   int   iFilterMX - 滤波器的中心元素X坐标
 *   int   iFilterMY - 滤波器的中心元素Y坐标
 * 说明:
 *   该函数对DIB图像进行中值滤波。
 ************************************************************************/
#define iFilterW 1
#define iFilterH 1
#define iFilterMX 1
#define iFilterMY 1
#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4)


unsigned char GetMedianNum(int * bArray int iFilterLen);
void MedianFilter(unsigned char *pImg1unsigned char *pImgint nWidthint nHeight)
{
    unsigned char   *lpSrc;                 // 指向源图像的指针
unsigned char   *lpDst;                   // 指向要复制区域的指针
int         aValue[iFilterH*iFilterW];     // 指向滤波器数组的指针
int ijkl;                     // 循环变量
int lLineBytes;                     // 图像每行的字节数
lLineBytes = WIDTHBYTES(nWidth * 8);
for ( i=0;i (*pImg)=0;
// 开始中值滤波
// 行(除去边缘几行)
for(i = iFilterMY; i < nHeight - iFilterH + iFilterMY + 1; i++)
{
// 列(除去边缘几列)
for(j = iFilterMX; j < nWidth - iFil

评论

共有 条评论