資源簡介
基于VC6.0 MFC對話框下的打開圖像,canny邊緣檢測,虹膜內圓定位,直方圖均衡,中值濾波及虹膜外圓定位,可以運行。需要安裝opencv1.0

代碼片段和文件信息
#include?“StdAfx.h“
#include?“function.h“
#include?“math.h“
/*************************************************************************
*???函數名稱:
*???InteEqualize()
*???參數:
*???InteEqualizeImg??????????????-?指向圖象數據的指針
*???int?nWidth ??????????-?圖象數據寬度
*???int?nHeight ??????-?圖象數據高度
************************************************************************/
void?InteEqualize(unsigned?char?*InteEqualizeImg?int?nWidthint?nHeight)
{
//?循環變量
int?i?=?0;
int?j?=?0;
//?臨時變量
int Temp?=?0;
//?灰度映射表
BYTE bMap[256];
//?灰度映射表
int Count[256];
//?清零
for?(i?=?0;?i?256;i++)
{
Count[i]?=?0;
}
//?計算各個灰度值的計數
for?(i?=?0;?i? {
for?(j?=?0;?j? {
Count[InteEqualizeImg[i*nWidth+j]]++;
}
}
//?計算灰度映射表
for?(i?=?0;?i?256;?i++)
{
//?初始為0
Temp?=?0;
for?(j?=?0;?j?<=?i?;j++)
{
Temp?+=?Count[j];
}
//?計算對應的新灰度值
bMap[i]?=?(BYTE)?(Temp?*?255?/?nHeight?/?nWidth);
}
for(i?=?0;?i? {
for(j?=?0;?j? {
//?計算新的灰度值
InteEqualizeImg[i*nWidth+j]?=?bMap[InteEqualizeImg[i*nWidth+j]];
}
}
}
//**************************************************************************
//對圖像的中值濾波
//**************************************************************************
int?Sort(int?b[9]);
void?Middlefilter(unsigned?char?*InteEqualizeImg?int?nWidthint?nHeight)?
{
int??ijxyrrggbbm;
unsigned?char?*p_data;?????????//?原圖數據區指針
int??widthheight;??????//?原圖長、寬
int??R[9]G[9]B[9];
p_data=InteEqualizeImg;
width=nWidth;????????//?獲得位圖寬度
height=nHeight;?????//?獲得位圖高度
for(i=1;i for(j=1;j {
//把3*3屏蔽窗口部分的所有像素值分別放入R[9]G[9]B[9]三個數組中
m=0;
for(x=i-1;x<=i+1;x++)
for(y=j-1;y<=j+1;y++)
{
B[m]=p_data[x*width+y];
G[m]=p_data[x*width+y+1];
R[m]=p_data[x*width+y+2];
m++;
}
//求三個數組的中值并分別放入rrggbb
bb=Sort(B);
gg=Sort(G);
rr=Sort(R);
//把中值代入原圖像中
p_data[i*width+j]=bb;
p_data[i*width+j+1]=gg;
p_data[i*width+j+2]=rr;
}
}
//將3*3屏蔽窗口中的數據進行排序,并返回中間的值
int?Sort(int?b[9])
{
int?ijtemp;
for(i=0;i<8;i++)
for(j=i+1;j<9;j++)
{
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
return?b[4];
}
/*************************************************************************
*???函數名稱:
*???Bresenham()
*???輸入參數:
*???int?Gao_temp1??????????????????????????????-?記錄圓心縱坐標
*???int?Gao_temp2??????????????????????????????-?記錄圓心橫坐標
*???int?Gao_temp3??????????????????????????????-?記錄半徑
*???unsigned?char?*pUnchEdge???????????????????-?記錄原圖像的緩沖區
**************************************************************************/
void?Bresenham(int?Gao_temp1?int?Gao_temp2int?Gao_temp3int?nWidthint?nHeightunsigned?char?*HoughImage)
{
int?Bresenham_x?=?0;
int?Bresenham_y?=?Gao_temp3;?
????int?Delta_D;
int?Delta_1;
int?Delta_2;
int?direction;
Del
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????23787??2012-03-29?14:24??最終程序\Debug\function.obj
?????文件??????????0??2012-03-29?14:24??最終程序\Debug\function.sbr
?????文件????3351552??2012-03-29?14:24??最終程序\Debug\HongMo.bsc
?????文件?????127047??2012-03-29?14:31??最終程序\Debug\HongMo.exe
?????文件?????231244??2012-03-29?14:31??最終程序\Debug\HongMo.ilk
?????文件??????15482??2012-03-29?14:24??最終程序\Debug\HongMo.obj
?????文件????6894508??2012-03-29?14:24??最終程序\Debug\HongMo.pch
?????文件?????320512??2012-03-29?14:31??最終程序\Debug\HongMo.pdb
?????文件???????3732??2012-03-29?14:31??最終程序\Debug\HongMo.res
?????文件??????????0??2012-03-29?14:24??最終程序\Debug\HongMo.sbr
?????文件??????48985??2012-03-29?14:24??最終程序\Debug\HongMoDlg.obj
?????文件??????????0??2012-03-29?14:24??最終程序\Debug\HongMoDlg.sbr
?????文件??????10881??2012-03-29?14:24??最終程序\Debug\shuru.obj
?????文件??????????0??2012-03-29?14:24??最終程序\Debug\shuru.sbr
?????文件?????106508??2012-03-29?14:24??最終程序\Debug\StdAfx.obj
?????文件????1375743??2012-03-29?14:24??最終程序\Debug\StdAfx.sbr
?????文件?????222208??2012-08-30?15:50??最終程序\Debug\vc60.idb
?????文件?????389120??2012-03-29?14:24??最終程序\Debug\vc60.pdb
?????文件??????19333??2012-03-29?14:22??最終程序\function.cpp
?????文件???????1761??2012-03-29?14:22??最終程序\function.h
?????文件??????23140??2012-08-28?09:04??最終程序\HongMo.aps
?????文件???????2402??2012-08-30?15:50??最終程序\HongMo.clw
?????文件???????2063??2012-03-26?21:05??最終程序\HongMo.cpp
?????文件???????4478??2012-03-26?21:05??最終程序\HongMo.dsp
?????文件????????537??2012-03-26?21:05??最終程序\HongMo.dsw
?????文件???????1324??2012-03-26?21:05??最終程序\HongMo.h
?????文件?????238592??2012-08-30?15:51??最終程序\HongMo.ncb
?????文件?????914432??2012-08-30?15:51??最終程序\HongMo.opt
?????文件????????246??2012-08-30?15:50??最終程序\HongMo.plg
?????文件???????7383??2012-03-29?14:31??最終程序\HongMo.rc
............此處省略16個文件信息
- 上一篇:SMTP郵件發送MFC、VC++
- 下一篇:MFC實現DES加密解密實現
評論
共有 條評論