⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 img_morphology.c

📁 显示了如何从细化后的指纹图像中获得细节点集合。代码由C写成。详细情况见解包后的说明
💻 C
字号:
/*############################################################################# * 文件名:img_morphology.c * 功能:  实现了主要的图像形态学操作 * modified by  PRTsinghua@hotmail.com#############################################################################*/#include "img_base.h"#include <string.h>#define P(x,y)      p[(x)+(y)*pitch]/******************************************************************************  * 功能:图像膨胀算法  * 参数:image   指纹图像  * 返回:错误编号******************************************************************************/FvsError_t ImageDilate(FvsImage_t image){    FvsInt_t w      = ImageGetWidth (image);    FvsInt_t h      = ImageGetHeight(image);    FvsInt_t pitch  = ImageGetPitch (image);    FvsInt_t size   = ImageGetSize  (image);    FvsByte_t* p    = ImageGetBuffer(image);    FvsInt_t x,y;    if (p==NULL)        return FvsMemory;        for (y=1; y<h-1; y++)    for (x=1; x<w-1; x++)    {        if (P(x,y)==0xFF)        {            P(x-1, y) |= 0x80;            P(x+1, y) |= 0x80;            P(x, y-1) |= 0x80;            P(x, y+1) |= 0x80;        }    }    for (y=0; y<size; y++)        if (p[y])            p[y] = 0xFF;    return FvsOK;}/******************************************************************************  * 功能:图像腐蚀算法  * 参数:image   指纹图像  * 返回:错误编号******************************************************************************/FvsError_t ImageErode(FvsImage_t image){    FvsInt_t w      = ImageGetWidth (image);    FvsInt_t h      = ImageGetHeight(image);    FvsInt_t pitch  = ImageGetPitch (image);    FvsInt_t size   = ImageGetSize  (image);    FvsByte_t* p    = ImageGetBuffer(image);    FvsInt_t x,y;        if (p==NULL)        return FvsMemory;        for (y=1; y<h-1; y++)    for (x=1; x<w-1; x++)    {        if (P(x,y)==0x0)        {            P(x-1, y) &= 0x80;            P(x+1, y) &= 0x80;            P(x, y-1) &= 0x80;            P(x, y+1) &= 0x80;        }    }    for (y=0; y<size; y++)        if (p[y]!=0xFF)            p[y] = 0x0;    return FvsOK;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -