?? img_morphology.c
字號(hào):
/*############################################################################# * 文件名:img_morphology.c * 功能: 實(shí)現(xiàn)了主要的圖像形態(tài)學(xué)操作 * modified by PRTsinghua@hotmail.com#############################################################################*/#include "img_base.h"#include <string.h>#define P(x,y) p[(x)+(y)*pitch]/****************************************************************************** * 功能:圖像膨脹算法 * 參數(shù):image 指紋圖像 * 返回:錯(cuò)誤編號(hào)******************************************************************************/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;}/****************************************************************************** * 功能:圖像腐蝕算法 * 參數(shù):image 指紋圖像 * 返回:錯(cuò)誤編號(hào)******************************************************************************/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;}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -