资源简介

基于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 < nHeight; i ++)
{
for (j = 0; j < nWidth; 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 < nHeight; i++)
{
for(j = 0; j < nWidth; 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个文件信息

评论

共有 条评论