亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tiduruihuadib.cpp

?? 本程序是完成人耳識別
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
void TiDuRuiHuaDib::Leijianzuida(int *tongji)
{
	int i,j;
	int height,wide;
	LPBYTE p_data;
	LPBYTE p_temp;
	height = this->GetHeight();
	wide = this->GetDibWidthBytes();
	p_data=this->GetData();  //獲得圖像數據
	p_temp = new BYTE[height*wide];
    memcpy(p_temp,p_data,height*wide);
	
	//域值
	int Th;  //使相對距離最大的域值
	int  Th0; //域值初始值;
	//兩類的均值;
	int u1,u2;
	//相對距離
	int  s;
	int s0;   //初始域值所對應的相對距離
	//臨時變量
	int Temp0, Temp1, Temp2, Temp3;
	Temp0 = Temp1 = Temp2 = Temp3 = 0;
	//初始化Th,Th0
	   Th=Th0=127;
	   //計算u1
	   for (i = 0; i < Th0 + 1; i++)
	   {
		   Temp0 += tongji[i] * i;
		   Temp1 += tongji[i];
	   }
       u1=Temp0/Temp1;
	   //計算u2
	   for (i = Th0 + 1; i < 256; i++)
	   {
		   Temp2 += tongji[i] * i;
		   Temp3 += tongji[i];
	   }
	   u2=Temp2/Temp3;
	   //計算相對距離
	   s0=(u2-Th0)*(Th0-u1)/((u2-u1)*(u2-u1));
	   for (Th0=1;Th0<255;Th0++)
	   {
		   //計算u1
		   Temp0 = Temp1 = Temp2 = Temp3 = 0;
		   for (i = 0; i < Th0 + 1; i++)
		   {
			   Temp0 += tongji[i] * i;
			   Temp1 += tongji[i];
		   }
		   if (Temp1==0)
		   {
			   Temp1=1;
		   }
		   u1=Temp0/Temp1;
		   //計算u2
		   for (i = Th0 + 1; i < 256; i++)
		   {
			   Temp2 += tongji[i] * i;
			   Temp3 += tongji[i];
		   }
		   if (Temp3==0)
		   {
			   Temp3=1;
		   }
		   u2=Temp2/Temp3;
		   //計算相對距離
		   s=(u2-Th0)*(Th0-u1)/((u2-u1)*(u2-u1));
		   //與s0比較大小
		   if (s>s0)
		   {
			   s0=s;
			   Th=Th0;
		   }
	   }
	   //根據域值Th對圖像二值化
	   for (j=0;j<height;j++)
	   {
		   for (i=0;i<wide;i++)
		   {
			   if(*(p_temp+j*wide+i)<Th)
				   *(p_temp+j*wide+i)=0;
			   else
				   *(p_temp+j*wide+i)=255;
		   }
	   }
	   memcpy(p_data,p_temp,height*wide);
      delete p_temp;
}

void TiDuRuiHuaDib::Yuzhifenge(int Yuzhi)
{
	// 指向源圖像的指針
	LPBYTE  p_data;
	LPBYTE	lpSrc;
	// 指向緩存圖像的指針
	LPBYTE	lpDst;
	// 指向緩存DIB圖像的指針
	LPBYTE	temp;
	//循環變量
	long i;
	long j;
	//圖像的高和寬
	long wide;
	long height;
	p_data=GetData();
	if(m_pBitmapInfoHeader->biBitCount<9)	//灰度圖像
		wide=GetWidth();
	else	//24位彩色
		wide=GetDibWidthBytes();
	height=GetHeight();
	temp=new BYTE[wide*height];
	memset(temp,255,wide*height);
	for (j=0;j<height;j++)
	{
		for(i=0;i<wide;i++)
		{
			lpSrc=p_data+wide*j+i;
			lpDst=temp+wide*j+i;
			if(abs(*lpSrc-Yuzhi)<30)
				//*lpDst=Yuzhi;	
				*lpDst=0;
		}
	}
    memcpy(p_data,temp,wide*height);
	delete temp;	
}

void TiDuRuiHuaDib::nnzhong(int n)
{
	DWORD size;
	size=GetSize();  //獲得圖像打小
	BYTE* p_temp=new BYTE [size];  //開辟內存
	memset(p_temp,255,size);
	int yy,xx,n2,nn,chuo,chg,m,medi,madom,mado[1000];
	BYTE *p_data;     //原圖數據區指針
	int wide,height;    //原圖長、寬
	if(n<3||n%2!=1)//檢查取值是否為3.5.7等的奇數
		AfxMessageBox("請輸入一個大于等于3的奇數");
	if(n>=3&&n%2==1)
		n2=(n-1)/2;
    nn=n*n;
	chuo=(nn-1)/2;
	p_data=this->GetData();//取得原圖的數據區指針
	wide=this->GetWidth(); //取得原圖的數據區寬
    height=this->GetHeight();  //取得原圖的數據區高
	
	//n*n中值濾波
	for(int j=n2;j<height-n2;j++)
		for(int i=n2;i<wide-n2;i++)
		{
			//把n*n屏蔽窗口部分的所有像素值放入mado[m]
			m=0;
			for(yy=j-n2;yy<=j+n2;yy++)
				for(xx=i-n2;xx<=i+n2;xx++)
				{
					mado[m]=p_data[yy*wide+xx];
					m++;
				}
				//把mado[m]中的值按下降順序用冒泡法排序
				do{
					chg=0;
					for(m=0;m<nn-1;m++)
					{
						if(mado[m]<mado[m+1])
						{
							madom=mado[m];
							mado[m]=mado[m+1];
							mado[m+1]=madom;
							chg=1;
						}
					}
				}while(chg==1);	
				//求中值medi
				medi=mado[chuo];
				//把中值代入顯示圖像中
				p_temp[j*wide+i]=medi;
		}
		memcpy(p_data,p_temp,size);
		delete p_temp;
}

void TiDuRuiHuaDib::nnjunzhi(int n)
{
	DWORD size;
	size=GetSize();
	BYTE *p_data;
	int xx,yy,n2,sum;
	int wide,height;    //原圖長、寬
	
	BYTE* p_temp=new BYTE [size];
	memset(p_temp,255,size);
	if(n<3||n%2!=1)//確認n為奇數
		AfxMessageBox("請輸入一個大于等于3的奇數");
	if(n>=3&&n%2==1)   //如果n是大于等于3的奇數 
		n2=(n-1)/2;
	p_data=this->GetData();//取得原圖的數據區指針
	wide=this->GetWidth(); //取得原圖的數據區寬
	height=this->GetHeight();  //取得原圖的數據區高
	//用N*N屏蔽窗口平均化
	for(int j=n2;j<height-n2;j++)
	{
		for(int i=n2;i<wide-n2;i++)
		{	//求N*N屏蔽窗口內的總和sum
			sum=0;
			for(yy=j-n2;yy<=j+n2;yy++)
				for(xx=i-n2;xx<=i+n2;xx++)
					sum+=p_data[yy*wide+xx];
				//把n*n屏蔽窗口內的平均值四舍五入后作為顯示圖像像素值
				p_temp[j*wide+i]=(int)((float)sum/(n*n)+0.5);
				
		}
	}
	memcpy(p_data,p_temp,size);
	delete p_temp;
}

void TiDuRuiHuaDib::Jubupingjun()
{
	DWORD size;
	size=GetSize();
	BYTE *p_data;//原圖數據區指針
	BYTE* p_temp=new BYTE[size];  //緩存圖像指針
	int wide,height;
    int n,ji[9],nmin;
	float mean[9],bunsan[9],bmin;
	p_data=this->GetData();//取得原圖的數據區指針
	wide=this->GetWidth(); //取得原圖的數據區寬
    height=this->GetHeight();  //取得原圖的數據區高
	
	memset(p_temp,255,size);  //初始化緩存區域
	for(int j=2;j<=height-3;j++)
		for(int i=2;i<=wide-3;i++)
		{
			//求9種近鄰區域的均值及其方差
			//第1近鄰區域
			ji[0]=p_data[(j-1)*wide+(i-1)];
			ji[1]=p_data[(j-1)*wide+i];
			ji[2]=p_data[(j-1)*wide+(i+1)];
			ji[3]=p_data[j*wide+(i-1)];
			ji[4]=p_data[j*wide+i];
			ji[5]=p_data[j*wide+(i+1)];
			ji[6]=p_data[(j+1)*wide+(i-1)];
			ji[7]=p_data[(j+1)*wide+i];
			ji[8]=p_data[(j+1)*wide+(i+1)];
			mean[0]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6]+ji[7]+ji[8])/9;
			bunsan[0]=0;
			for(n=0;n<=8;n++)
				bunsan[0]+=ji[n]*ji[n]-mean[0]*mean[0];
			//第2近鄰區域
			ji[0]=p_data[(j-2)*wide+(i-1)];
			ji[1]=p_data[(j-2)*wide+i];
			ji[2]=p_data[(j-2)*wide+(i+1)];
			ji[3]=p_data[(j-1)*wide+(i-1)];
			ji[4]=p_data[(j-1)*wide+i];
			ji[5]=p_data[(j-1)*wide+(i+1)];
			ji[6]=p_data[j*wide+i];
			mean[1]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[1]=0;
			for(n=0;n<=6;n++)
				bunsan[1]+=ji[n]*ji[n]-mean[1]*mean[1];
			//第3近鄰區域
			ji[0]=p_data[(j-1)*wide+(i-2)];
			ji[1]=p_data[(j-1)*wide+(i-1)];
			ji[2]=p_data[j*wide+(i-2)];
			ji[3]=p_data[j*wide+(i-1)];
			ji[4]=p_data[j*wide+i];
			ji[5]=p_data[(j+1)*wide+(i-2)];
			ji[6]=p_data[(j+1)*wide+(i-1)];
			mean[2]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[2]=0;
			for(n=0;n<=6;n++)
				bunsan[2]+=ji[n]*ji[n]-mean[2]*mean[2];
			//第4近鄰區域
			ji[0]=p_data[j*wide+i];
			ji[1]=p_data[(j+1)*wide+(i-1)];
			ji[2]=p_data[(j+1)*wide+i];
			ji[3]=p_data[(j+1)*wide+(i+1)];
			ji[4]=p_data[(j+2)*wide+(i-1)];
			ji[5]=p_data[(j+2)*wide+i];
			ji[6]=p_data[(j+2)*wide+(i+1)];
			mean[3]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[3]=0;
			for(n=0;n<=6;n++)
				bunsan[3]+=ji[n]*ji[n]-mean[3]*mean[3];
			//第5近鄰區域
			ji[0]=p_data[(j-1)*wide+(i+1)];
			ji[1]=p_data[(j-1)*wide+(i+2)];
			ji[2]=p_data[j*wide+i];
			ji[3]=p_data[j*wide+(i+1)];
			ji[4]=p_data[j*wide+(i+2)];
			ji[5]=p_data[(j+1)*wide+(i+1)];
			ji[6]=p_data[(j+1)*wide+(i+2)]; 
			mean[4]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[4]=0;
			for(n=0;n<=6;n++)
				bunsan[4]+=ji[n]*ji[n]-mean[4]*mean[4];	
			//第6近鄰區域
			ji[0]=p_data[(j-2)*wide+(i+1)];
			ji[1]=p_data[(j-2)*wide+(i+2)];
			ji[2]=p_data[(j-1)*wide+i];
			ji[3]=p_data[(j-1)*wide+(i+1)];
			ji[4]=p_data[(j-1)*wide+(i+2)];
			ji[5]=p_data[j*wide+i];
			ji[6]=p_data[j*wide+(i+1)]; 
			mean[5]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[5]=0;
			for(n=0;n<=6;n++)
				bunsan[5]+=ji[n]*ji[n]-mean[5]*mean[5];
			//第7近鄰區域
			ji[0]=m_pData[(j-2)*wide+(i-2)];
			ji[1]=p_data[(j-2)*wide+(i-1)];
			ji[2]=p_data[(j-1)*wide+(i-2)];
			ji[3]=p_data[(j-1)*wide+(i-1)];
			ji[4]=p_data[(j-1)*wide+i];
			ji[5]=p_data[j*wide+(i-1)];
			ji[6]=p_data[j*wide+i];
			mean[6]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[6]=0;
			for(n=0;n<=6;n++)
				bunsan[6]+=ji[n]*ji[n]-mean[6]*mean[6];
			//第8近鄰區域
			ji[0]=m_pData[j*wide+(i-1)];
			ji[1]=p_data[j*wide+i];
			ji[2]=p_data[(j+1)*wide+(i-2)];
			ji[3]=p_data[(j+1)*wide+(i-1)];
			ji[4]=p_data[(j+1)*wide+i];
			ji[5]=p_data[(j+2)*wide+(i-2)];
			ji[6]=p_data[(j+2)*wide+(i-1)];
			mean[7]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[7]=0;
			for(n=0;n<=6;n++)
				bunsan[7]+=ji[n]*ji[n]-mean[7]*mean[7];
			//第9近鄰區域
			ji[0]=p_data[j*wide+i];
			ji[1]=p_data[j*wide+(i+1)];
			ji[2]=p_data[(j+1)*wide+i];
			ji[3]=p_data[(j+1)*wide+(i+1)];
			ji[4]=p_data[(j+1)*wide+(i+2)];
			ji[5]=p_data[(j+2)*wide+(i+1)];
			ji[6]=p_data[(j+2)*wide+(i+2)];
			mean[8]=(float)(ji[0]+ji[1]+ji[2]+ji[3]+ji[4]+ji[5]+ji[6])/7;
			bunsan[8]=0;
			for(n=0;n<=6;n++)
				bunsan[8]+=ji[n]*ji[n]-mean[8]*mean[8];
			//求方差最小的近鄰區域nmin
			bmin=bunsan[0];
			nmin=0;
			for(n=0;n<=8;n++)
			{
				if(bmin>bunsan[n])
				{
					bmin=bunsan[n];
					nmin=n;
				}
				//把nmin的值四舍五入后作為顯示圖像的值
				p_temp[j*wide+i]=(int)(mean[nmin]+0.5);
			}				 
		}
		memcpy(p_data,p_temp,size);
		delete p_temp;	
		
}


void TiDuRuiHuaDib::Templat(BYTE *m_pdata, int wide, int height, int tempH, int tempW, int tempMX, int tempMY, float *fpArray, float fCoef)
{
	int i,j,k,l;  //循環變量
    BYTE*  temp=new BYTE[wide*height];    //新圖像緩沖區
	//初始化新圖像為原始圖像
    memcpy( temp,m_pdata,wide*height);
    float fResult;    //像素值計算結果
	for(j=tempMY;j<height-tempH+tempMY+1;j++)
		for(i=tempMX;i<wide-tempW+tempMX+1;i++)
		{
			//計算像素值
			fResult=0;
			for(k=0;k<tempH;k++)
				for(l=0;l<tempW;l++)
					fResult=fResult+m_pdata[(j-tempMY+k)*wide+(i-tempMX+l)]*fpArray[k*tempW+l];
				//乘上系數
				fResult*=fCoef;
				//取絕對值
				fResult=(float)fabs(fResult);
				//判斷是否超過255
				if(fResult>255)
					//若超過255,直接賦值為255
					temp[j*wide+i]=255;
				else
					//未超過255,賦值為計算結果
					temp[j*wide+i]=(int)(fResult+0.5);
		}
		memcpy(m_pdata, temp,wide*height);   //復制處理后的圖像
		delete  temp;
		
}

void TiDuRuiHuaDib::Laplacian()
{
	int tempH;  //模板高度
	int tempW;  //模板寬度
	float tempC;  //模板系數
	int tempMY;   //模板中心元素Y坐標
	int tempMX;   //模板中心元素X坐標
	float Template[9];   //模板數組
	LPBYTE p_data;     //原圖數據區指針
	int wide,height;    //原圖長、寬
	p_data=this->GetData ();
    wide=this->GetWidth ();
    height=this->GetHeight ();
	   
	LPBYTE   temp1=new BYTE[wide*height];    //新圖像緩沖區
	//拷貝原圖像到緩存圖像
	memcpy( temp1,p_data,wide*height);
	//設置Laplacian模板 參數
	tempW=3;
	tempH=3;
	tempC=1.0;
	tempMY=1;
	tempMX=1;
	Template[0]=-1.0;
	Template[1]=-1.0;
	Template[2]=-1.0;
	Template[3]=-1.0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色偷偷久久一区二区三区| 亚洲成人自拍偷拍| 2020国产精品| 一区二区三区美女| 国产精品亚洲а∨天堂免在线| 99久久精品国产观看| 日韩欧美久久久| 一区二区久久久久| 国产一区二区三区国产| 欧美日韩国产影片| 亚洲欧美日韩综合aⅴ视频| 国内精品不卡在线| 日韩欧美一级二级| 午夜一区二区三区视频| 国产999精品久久久久久绿帽| 欧美一区二区三区视频在线| 洋洋成人永久网站入口| www.成人网.com| 国产日韩一级二级三级| thepron国产精品| 91久久久免费一区二区| 久久精品夜夜夜夜久久| 日韩不卡在线观看日韩不卡视频| 色偷偷成人一区二区三区91| 欧美国产日韩在线观看| 国产乱子轮精品视频| 日韩免费一区二区| 蜜桃久久久久久| 8x8x8国产精品| 日韩精品免费视频人成| 欧美日韩精品福利| 午夜伊人狠狠久久| 91精品婷婷国产综合久久 | 成人av午夜影院| 久久一二三国产| 国内成人自拍视频| 国产日韩亚洲欧美综合| 成人午夜av影视| 国产精品国产自产拍高清av王其| 国产自产2019最新不卡| 欧美videos大乳护士334| 老司机精品视频在线| 欧美精品久久99| 日本欧美加勒比视频| 日韩午夜三级在线| 国产综合色精品一区二区三区| 精品国产凹凸成av人网站| 欧美aⅴ一区二区三区视频| 日韩欧美中文字幕制服| 精品无人区卡一卡二卡三乱码免费卡| 精品国产精品一区二区夜夜嗨| 国产精品一卡二卡| 一区视频在线播放| 欧美色倩网站大全免费| 蜜臀久久久99精品久久久久久| 91精品国产入口在线| 九一九一国产精品| 国产精品女人毛片| 欧美亚洲国产怡红院影院| 五月天中文字幕一区二区| 制服丝袜日韩国产| 国产成人精品免费在线| 亚洲免费资源在线播放| 欧美福利视频导航| 国产aⅴ精品一区二区三区色成熟| 亚洲欧洲另类国产综合| 欧美日韩国产综合视频在线观看| 狠狠色丁香久久婷婷综合丁香| 国产精品视频在线看| 欧美喷水一区二区| 高清国产一区二区| 亚洲国产一二三| 久久久亚洲午夜电影| 欧美亚洲自拍偷拍| 国产福利一区二区三区视频在线| 亚洲欧美偷拍三级| 精品国产在天天线2019| 成人久久视频在线观看| 婷婷成人激情在线网| 国产日韩在线不卡| 欧美一区二区三区播放老司机| 国产**成人网毛片九色 | 欧美激情一区二区三区四区| 在线欧美一区二区| 国产精品中文欧美| 亚洲成av人片在www色猫咪| 久久久www成人免费毛片麻豆 | 国产精品美女久久久久久久久久久| 一本一道久久a久久精品综合蜜臀| 亚洲另类春色国产| 91在线观看免费视频| 日本不卡的三区四区五区| 国产日韩欧美精品一区| 欧美日本韩国一区二区三区视频 | 在线播放/欧美激情| aaa国产一区| 极品少妇xxxx精品少妇| 亚洲国产精品久久人人爱| 国产精品萝li| 欧美激情一区二区三区四区| 精品国内二区三区| 欧美一区二区视频免费观看| 91行情网站电视在线观看高清版| 国产乱淫av一区二区三区 | 亚洲狠狠爱一区二区三区| 国产精品不卡在线| 久久精品一区八戒影视| 日韩女优av电影在线观看| 欧美日本在线一区| 欧美在线视频日韩| 欧美色图片你懂的| 在线中文字幕不卡| 欧美自拍偷拍一区| 在线看日韩精品电影| 一本一本大道香蕉久在线精品| 成人av在线资源| 99国产精品国产精品久久| jlzzjlzz亚洲日本少妇| 99久久婷婷国产精品综合| 91视频在线观看免费| 97久久精品人人澡人人爽| 99精品桃花视频在线观看| 99国产麻豆精品| 91久久精品一区二区| 欧美视频一二三区| 日韩限制级电影在线观看| 欧美一区二区三区白人| 精品日产卡一卡二卡麻豆| 久久女同互慰一区二区三区| 日本一区二区视频在线观看| 国产精品色在线观看| 一区精品在线播放| 亚洲综合视频网| 美腿丝袜亚洲色图| 国产麻豆精品95视频| 国产成人av一区二区三区在线| 成人精品电影在线观看| 色偷偷88欧美精品久久久| 欧美日韩在线直播| 精品奇米国产一区二区三区| 久久久久久影视| 自拍av一区二区三区| 日日夜夜免费精品| 国产麻豆日韩欧美久久| 99久久久久久| 在线不卡一区二区| 久久久夜色精品亚洲| 亚洲免费观看高清完整版在线观看熊| 亚洲国产精品自拍| 国产成人三级在线观看| 一本一本久久a久久精品综合麻豆| 7777精品伊人久久久大香线蕉超级流畅 | 日本不卡一二三| 成人午夜在线视频| 精品视频在线视频| 国产视频911| 亚洲一二三专区| 国产风韵犹存在线视精品| 色诱亚洲精品久久久久久| 欧美一区二区三区在线| 国产精品嫩草久久久久| 亚洲成人一区在线| 国产不卡一区视频| 欧美蜜桃一区二区三区| 国产精品萝li| 久久精品99久久久| 欧美午夜精品理论片a级按摩| 久久久精品黄色| 日日骚欧美日韩| 一本一道久久a久久精品综合蜜臀| 日韩精品一区二区三区中文不卡| 亚洲色图欧美在线| 国产乱子伦一区二区三区国色天香 | 国产精品久久毛片av大全日韩| 视频一区欧美精品| 97久久精品人人做人人爽| www欧美成人18+| 免费三级欧美电影| 91久久精品一区二区三区| 国产精品麻豆欧美日韩ww| 精品一区二区三区视频在线观看| 欧美性videosxxxxx| 欧美国产日韩一二三区| 精品中文字幕一区二区| 欧美精品久久99久久在免费线| 亚洲三级在线免费| 白白色亚洲国产精品| 国产欧美日韩另类一区| 国产自产高清不卡| 精品粉嫩aⅴ一区二区三区四区| 亚洲a一区二区| 色哦色哦哦色天天综合| 中文字幕在线不卡一区二区三区| 激情伊人五月天久久综合| 欧美丰满嫩嫩电影| 亚洲第一成人在线| 欧美视频你懂的| 五月激情丁香一区二区三区| 欧美写真视频网站| 亚洲777理论|