資源簡介
自己參加競賽改寫的中值濾波C程序,模塊程序。可直接嵌入。
代碼片段和文件信息
/*************************************************************************
?*?函數(shù)名稱:
?*???MedianFilter()
?*?參數(shù):
?*???int???iFilterH -?濾波器的高度
?*???int???iFilterW -?濾波器的寬度
?*???int???iFilterMX -?濾波器的中心元素X坐標
?*???int???iFilterMY -?濾波器的中心元素Y坐標
?*?說明:
?*???該函數(shù)對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; ????????????????? //?指向要復制區(qū)域的指針
int?????????aValue[iFilterH*iFilterW]; ????//?指向濾波器數(shù)組的指針
int ijkl; ????????????????????//?循環(huán)變量
int lLineBytes; ????????????????????//?圖像每行的字節(jié)數(shù)
lLineBytes?=?WIDTHBYTES(nWidth?*?8);
for?(?i=0;i (*pImg)=0;
//?開始中值濾波
//?行(除去邊緣幾行)
for(i?=?iFilterMY;?i? {
//?列(除去邊緣幾列)
for(j?=?iFilterMX;?j?
評論
共有 條評論