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

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

?? dib.cpp

?? 人臉檢測系統---可以較好的實現人臉定位
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
// DIB.cpp: implementation of the DIB class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DIB.h"
#include"math.h"
#define WIDTHBYTES(bits)  ((bits+31)/32*4)
#define RECTWIDTH(x) (x->right-x->left)
#define RECTHEIGHT(x) (x->bottom-x->top)
#define THRESHOLDCONTRAST  40
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define PI 3.1415926
extern int locax,locay;
#define m_WIDTH 600
#define m_HEIGHT 600

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
/////////////////////////////////////////////////////////////////////
HDIB DIB::ReadDIBFile(HANDLE hFile)
{
	BITMAPFILEHEADER bmfHeader;
	DWORD dwBitsSize;
	HANDLE hDIB;
	HANDLE hDIBtmp;
	LPBITMAPINFOHEADER lpbi;
	DWORD dwRead;
    //得到文件大小
	dwBitsSize = GetFileSize(hFile,NULL);
	hDIB =  GlobalAlloc(GMEM_MOVEABLE,(DWORD)(sizeof(BITMAPINFOHEADER)));

	if(!hDIB)
		return NULL;

	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
	if(!lpbi)
	{
		GlobalFree(hDIB);
		return NULL;
	}
	
	if(!ReadFile(hFile,(LPBYTE)&bmfHeader,sizeof(BITMAPFILEHEADER),&dwRead,NULL))
		goto ErrExit;
	if(sizeof(BITMAPFILEHEADER)!=dwRead)//讀取文件出錯
		goto ErrExit;
	if(bmfHeader.bfType != 0x4d42)//文件類型不匹配
		goto ErrExit;
	if(!ReadFile(hFile,(LPBYTE)lpbi,sizeof(BITMAPINFOHEADER),&dwRead,NULL))
		goto ErrExit;
	if(sizeof(BITMAPINFOHEADER)!= dwRead)//讀取數據出錯
		goto ErrExit;
	
	GlobalUnlock(hDIB);
	if(lpbi->biSizeImage==0)
		lpbi->biSizeImage = (this->BytePerLine(hDIB))*lpbi->biHeight;
	hDIBtmp = GlobalReAlloc(hDIB,lpbi->biSize+lpbi->biSizeImage,0);
	if(!hDIBtmp)
		goto ErrExitNoUnlock;
	else
		hDIB = hDIBtmp;
	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
	//根據情況設定文件指針
	if(bmfHeader.bfOffBits != 0L)
		SetFilePointer(hFile,bmfHeader.bfOffBits,NULL,FILE_BEGIN);
    //讀取文件的象素顏色數據
	if(ReadFile(hFile,(LPBYTE)lpbi+lpbi->biSize,lpbi->biSizeImage,&dwRead,NULL))
			goto OKExit;
	
	ErrExit:
		GlobalUnlock(hDIB);
	
	ErrExitNoUnlock:
		GlobalFree(hDIB); //釋放內存
		return NULL;

	OKExit:
		GlobalUnlock(hDIB);
		return hDIB;
		
}

HDIB DIB::LoadDIB(LPCTSTR lpFileName)
{
	HANDLE hDIB;
	HANDLE hFile;
	//創建文件句柄
	if((hFile = CreateFile(lpFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCAN,NULL))!= INVALID_HANDLE_VALUE)
	{  
		//讀取數據
		hDIB = ReadDIBFile(hFile);
		//關閉文件句柄
		CloseHandle(hFile);
		return hDIB;
	}
	return NULL;
}

BOOL DIB::PaintDIBTrue(HDC hDC,LPRECT lpDCRect,HANDLE hDIB,LPRECT lpDIBRect ,DWORD dwRop)
{
	LPBYTE lpDIBHdr;
	LPBYTE lpDIBBits;
	BOOL bSuccess = FALSE;

	if(!hDIB)
		return FALSE;
	lpDIBHdr = (LPBYTE)GlobalLock(hDIB);
	lpDIBBits = lpDIBHdr + sizeof(BITMAPINFOHEADER);
	bSuccess = StretchDIBits(hDC,lpDCRect->left,
								 lpDCRect->top,
								 RECTWIDTH(lpDCRect),
								 RECTHEIGHT(lpDCRect),
								 lpDIBRect->left,
								 ((LPBITMAPINFOHEADER)lpDIBHdr)->biHeight-lpDIBRect->top-RECTHEIGHT(lpDIBRect),
								 RECTWIDTH(lpDIBRect),
								 RECTHEIGHT(lpDIBRect),
								 lpDIBBits,
								 (LPBITMAPINFO)lpDIBHdr,
								 DIB_RGB_COLORS,
								 SRCCOPY);
	GlobalUnlock(hDIB);
	return bSuccess;
}

WORD DIB::BytePerLine(HANDLE hDIB)
{	
	WORD i;
	LPBITMAPINFOHEADER lpbi;
	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
	i = WIDTHBYTES((lpbi->biWidth)*24);
	GlobalUnlock(hDIB);
	return i;	
}


//函數實現圖片從彩色到黑白的轉換
HDIB DIB::ToGray(HANDLE hDIB)
{
	HDIB hNewDIB = NULL;
	LPBITMAPINFOHEADER lpSrc,lpDest;
	LPBYTE lpS,lpD;
	DWORD dwBytesPerLine;
	DWORD dwImgSize;
	WORD wBytesPerLine;
	unsigned i ,j,height,width;
	if(!hDIB)
		return NULL;
	
	lpSrc = (LPBITMAPINFOHEADER)GlobalLock(hDIB);

	dwBytesPerLine = WIDTHBYTES(24*(lpSrc->biWidth));
	dwImgSize = lpSrc->biHeight * dwBytesPerLine;
	//申請新的內存,大小等于原來圖象的大小
	hNewDIB = GlobalAlloc(GHND,sizeof(BITMAPINFOHEADER)+dwImgSize);

	lpDest = (LPBITMAPINFOHEADER)GlobalLock(hNewDIB);
	//保存圖片的長寬、顏色深度等信息
	memcpy((void*)lpDest,(void*)lpSrc,sizeof(BITMAPINFOHEADER));
	DWORD dwSBytesPerLine;
	dwSBytesPerLine = (24*(lpSrc->biWidth)+31)/32*4;
	height = lpDest->biHeight;
	width = lpDest->biWidth;
	lpS = (LPBYTE)lpSrc;
	wBytesPerLine = this->BytePerLine(hDIB);
	lpD = (LPBYTE)lpDest;	
	lpS = lpS + sizeof(BITMAPINFOHEADER);
	lpD = lpD + sizeof(BITMAPINFOHEADER);
	unsigned  r , g ,b,gray ;
	//掃描整個圖片,實現灰度化
	for(i = 0 ;i<height; i++)
	{
		for(j = 0 ;j<(unsigned )lpDest->biWidth;j++)
		{
	        //獲得原來圖片的顏色值
			r = *(lpS++);
			g = *(lpS++);
			b  = *(lpS++);
			//計算灰度值
			gray = (g*50+r*39+b*11)/100;
			//保存灰度值到目標圖片
			*(lpD++)=gray;
			*(lpD++) = gray;
			*(lpD++) = gray;

			
		}
		//處理四字節對齊問題
	unsigned  k ;
		for(k=0;k<dwSBytesPerLine-lpSrc->biWidth*3;k++)
		{
			lpS++;
			lpD++;
		}
		
	}

	GlobalUnlock(hDIB);
	GlobalUnlock(hNewDIB);
   	return hNewDIB;
	
	

}



LPBYTE  DIB::FindDIBBits(HANDLE hDIB)
{
	LPBYTE lpDIB,lpDIBtmp;
	LPBITMAPINFOHEADER lpbi;
	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
	lpDIBtmp = (LPBYTE)lpbi;
	lpDIB = lpDIBtmp + sizeof(BITMAPINFOHEADER);
	GlobalUnlock(hDIB);
	return lpDIB;
}

long DIB::PixelOffset(int i,int j,WORD wBytePerLine)
{
	long   Offset;
	Offset = i*wBytePerLine + j*3;
	return Offset;
}





int DIB::BOUND(int a ,int b ,int rgb)
{
	if(rgb<0)
		return BOUND(a,b,abs(rgb));
	if(rgb>b)
		return b;
	return rgb;
}




//實現圖片的黑白二值化
void DIB::WhiteBlack(HANDLE hDIB,unsigned n)
{

	LPBITMAPINFOHEADER  lpbi;
	LPBYTE				lpS;
	int					width,height;
	long				lOffset;
	WORD                wBytesPerLine;

	if(!hDIB)
		return ;
	wBytesPerLine = this->BytePerLine(hDIB);
	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
    //得到圖片的長寬信息
	width = lpbi->biWidth;
	height = lpbi->biHeight;

	lpS = (LPBYTE)lpbi;
	//lps指向數據區
	lpS = lpS + sizeof(BITMAPINFOHEADER);
  	//掃描整個圖片,實現二值化
	for(int i = 0;i<height;i++)
		for(int j = 0 ;j<width;j++)
		{   //得到象素數據在數據區中的偏移
			lOffset = this->PixelOffset(i,j,wBytesPerLine);
			if(*(lpS+lOffset)<n)//象素值小于臨界值
			{   //把象素填充為黑色
				*(lpS+lOffset++) = 0;
				*(lpS+lOffset++) = 0;
				*(lpS+lOffset)   = 0;
			}
			else //象素值大于臨界值
			{   
				//把象素填充為白色
				*(lpS+lOffset++) = 255;
				*(lpS+lOffset++) = 255;
				*(lpS+lOffset)   = 255;
			}
		}

		GlobalUnlock(hDIB);
		
}



DIB::DIB()
{	
	for(int i=0;i<ImgRange; i++)
		for (int j=0; j<ImgRange; j++)
			this->lab[i][j] = false;

}
DIB::~DIB()
{

}





BOOL DIB:: SaveDIB(HANDLE hDib, CFile& file)
{
	// Bitmap文件頭
	BITMAPFILEHEADER bmfHdr;
	
	// 指向BITMAPINFOHEADER的指針
	LPBITMAPINFOHEADER lpBI;
	
	// DIB大小
	DWORD dwDIBSize =0;

	if (hDib == NULL)
	{
		// 如果DIB為空,返回FALSE
		return FALSE;
	}

	// 讀取BITMAPINFO結構,并鎖定
	lpBI = (LPBITMAPINFOHEADER) ::GlobalLock((HGLOBAL) hDib);
	
	if (lpBI == NULL)
	{
		// 為空,返回FALSE
		return FALSE;
	}
	
	// 判斷是否是WIN3.0 DIB
//	if (!IS_WIN30_DIB(lpBI))
//	{
		// 不支持其它類型的DIB保存
		
		// 解除鎖定
	//	::GlobalUnlock((HGLOBAL) hDib);
		
		// 返回FALSE
	//	return FALSE;
//	}

	// 填充文件頭

	// 文件類型"BM"
	bmfHdr.bfType =  0x4d42; //DIB_HEADER_MARKER;

	// 計算DIB大小時,最簡單的方法是調用GlobalSize()函數。但是全局內存大小并
	// 不是DIB真正的大小,它總是多幾個字節。這樣就需要計算一下DIB的真實大小。
	
	// 文件頭大小+顏色表大小
	// (BITMAPINFOHEADER和BITMAPCOREHEADER結構的第一個DWORD都是該結構的大小)
//	dwDIBSize = *(LPDWORD)lpBI; //+ ::PaletteSize((LPSTR)lpBI);
	dwDIBSize = sizeof(BITMAPINFOHEADER);//+lpBI->biSizeImage;	
	// 計算圖像大小
	if ((lpBI->biCompression == BI_RLE8) || (lpBI->biCompression == BI_RLE4))
	{
		// 對于RLE位圖,沒法計算大小,只能信任biSizeImage內的值
		dwDIBSize += lpBI->biSizeImage;
	}
	else
	{
		// 象素的大小
		DWORD dwBmBitsSize;

		// 大小為Width * Height
		dwBmBitsSize = WIDTHBYTES((lpBI->biWidth)*24) * lpBI->biHeight;
		
		// 計算出DIB真正的大小
		dwDIBSize += dwBmBitsSize;

		// 更新biSizeImage(很多BMP文件頭中biSizeImage的值是錯誤的)
		lpBI->biSizeImage = dwBmBitsSize;
	}


	// 計算文件大小:DIB大小+BITMAPFILEHEADER結構大小
	bmfHdr.bfSize = dwDIBSize + sizeof(BITMAPFILEHEADER);
	
	// 兩個保留字
	bmfHdr.bfReserved1 = 0;
	bmfHdr.bfReserved2 = 0;

	// 計算偏移量bfOffBits,它的大小為Bitmap文件頭大小+DIB頭大小+顏色表大小
	bmfHdr.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER) + lpBI->biSize;
											 // + PaletteSize((LPSTR)lpBI);
	// 嘗試寫文件
//	TRY
	{
		// 寫文件頭
		file.Write((LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER));
		
		// 寫DIB頭和象素
		file.WriteHuge(lpBI, dwDIBSize);
	}
//	CATCH (CFileException, e)
//	{
		// 解除鎖定
	//	::GlobalUnlock((HGLOBAL) hDib);
		
		// 拋出異常
///		THROW_LAST();
//	}
//	END_CATCH
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) hDib);
	
	// 返回TRUE
	return TRUE;
}


HANDLE DIB::CopyHandle( HANDLE hSrc)
{	
	HANDLE hDst;
	LPBITMAPINFOHEADER lpbi;
	int width,height;
	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hSrc);
	width = lpbi->biWidth;
	height = lpbi->biHeight;
	hDst = GlobalAlloc(GMEM_MOVEABLE,lpbi->biSize+lpbi->biSizeImage);
	if(!hDst)
		return NULL;
	LPBYTE lpDest;
	lpDest = (LPBYTE)GlobalLock(hDst);
	memcpy(lpDest,(LPBYTE)lpbi,lpbi->biSize+lpbi->biSizeImage);
	GlobalUnlock(hSrc);
	GlobalUnlock(hDst);
	return hDst;

}


//函數尋找圖片中的特征區域的中心點



#define THRESHOLD (RADIUS*2+1)*(RADIUS*2+1)*15
//函數在一幅圖片中尋找匹配的中心點
BOOL DIB::MatchImportantPoint(HANDLE hDIB,int CharaterInfo[RADIUS*2+1][RADIUS*2+1][3],CPoint *ImPoint)
{
	LPBITMAPINFOHEADER lpbi;
	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
	int width = lpbi->biWidth;
	int height = lpbi->biHeight;
	LPBYTE lpData = this->FindDIBBits(hDIB);
    WORD wBytesPerLine = this->BytePerLine(hDIB);
	long lOffset;
	long sum =100000,tempsum;
	//掃描整個圖片(邊緣點)除外
	for(int i=RADIUS ;i<height-RADIUS;i++)
		for(int j=RADIUS;j<width-RADIUS;j++)
		{	
			tempsum =0;
			//掃描以RADIUS*2+1為邊長的正方形區域
			for(int k=-RADIUS;k<=RADIUS;k++)
				for(int kk=-RADIUS;kk<=RADIUS;kk++)
				{
					//計算當前正方形和已知特征區域的顏色差值

				lOffset = this->PixelOffset(i+k,j+kk,wBytesPerLine);
				int colorblue = abs(*(lpData+lOffset++)-CharaterInfo[k+RADIUS][kk+RADIUS][0]);
				int colorgreen = abs(*(lpData+lOffset++)-CharaterInfo[k+RADIUS][kk+RADIUS][1]);
				int colorred = abs(*(lpData+lOffset++)-CharaterInfo[k+RADIUS][kk+RADIUS][2]);
				tempsum +=colorgreen+colorblue+colorred;
				}
				if(tempsum<sum)
				{  //更新差值
					sum = tempsum;
					//更改特征坐標點
					ImPoint->x = j;
					ImPoint->y = i;
				}
		}

		if(sum <THRESHOLD){//找到滿足條件的區域
		//下面的代碼把找到的區域的邊框設置成為白色
		for(i =-RADIUS;i<=RADIUS;i++)
		{
			lOffset = this->PixelOffset(ImPoint->y-RADIUS,ImPoint->x+i,wBytesPerLine);
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;

		}

		for(i =-RADIUS;i<=RADIUS;i++)
		{
			lOffset = this->PixelOffset(ImPoint->y+RADIUS,ImPoint->x+i,wBytesPerLine);
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;

		}
		for(i =-RADIUS;i<=RADIUS;i++)
		{
			lOffset = this->PixelOffset(ImPoint->y+i,ImPoint->x+RADIUS,wBytesPerLine);
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;

		}
		for(i =-RADIUS;i<=RADIUS;i++)
		{
			lOffset = this->PixelOffset(ImPoint->y+i,ImPoint->x-RADIUS,wBytesPerLine);
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;
			*(lpData+lOffset++) = 255;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产麻豆国产自产在线| 一区二区成人在线观看| 欧美日韩国产一区二区三区地区| 国产成人午夜精品5599| 免费观看一级特黄欧美大片| 五月激情综合网| 午夜精品成人在线视频| 亚洲第一在线综合网站| 午夜成人免费视频| 日日噜噜夜夜狠狠视频欧美人| 亚洲已满18点击进入久久| 亚洲综合另类小说| 午夜精品久久久久久久久| 亚洲bt欧美bt精品| 男人的j进女人的j一区| 久久精品久久综合| 国产一区二区三区在线观看免费视频 | 国产精品第13页| 国产精品你懂的在线欣赏| 国产精品三级在线观看| 国产精品理论在线观看| 亚洲免费观看高清完整版在线 | 国产成人亚洲综合a∨婷婷图片| 九九国产精品视频| 成人性视频免费网站| 99re免费视频精品全部| 欧美日韩国产一级片| 欧美一级午夜免费电影| 久久久精品国产免大香伊| 中文字幕日韩一区| 婷婷综合久久一区二区三区| 久久电影网站中文字幕 | 亚洲精品高清在线| 日本在线不卡视频| 国产成人aaaa| 欧美影院一区二区| www精品美女久久久tv| 1024国产精品| 麻豆91精品视频| 色综合久久中文字幕| 日韩欧美中文字幕公布| 中文av一区二区| 偷拍与自拍一区| 成人美女在线观看| 日韩精品一区二区三区中文精品| 中文成人av在线| 免费人成在线不卡| 99国产精品国产精品毛片| 日韩精品一区二区三区在线播放 | 欧美性猛交xxxx黑人交| 久久久噜噜噜久久人人看| 亚洲一区二区三区免费视频| 国产精华液一区二区三区| 欧美伦理电影网| 亚洲欧美日韩在线播放| 国产麻豆一精品一av一免费| 欧美精品在线观看播放| 洋洋av久久久久久久一区| 国产精品77777| 欧美不卡一区二区三区四区| 亚洲午夜久久久久久久久电影网| 成人黄色小视频在线观看| 日韩欧美视频一区| 丝瓜av网站精品一区二区| 色呦呦日韩精品| 国产精品久99| 成人精品免费看| 久久精品男人的天堂| 国产又粗又猛又爽又黄91精品| 欧美日韩久久久| 亚洲一区二区视频| 欧美视频日韩视频在线观看| 国产精品久久久久影视| 成人国产精品视频| 日本一区二区动态图| 国产精品亚洲а∨天堂免在线| 日韩久久免费av| 精品一区二区三区影院在线午夜| 欧美乱熟臀69xxxxxx| 视频一区在线播放| 91麻豆精品国产综合久久久久久| 三级欧美韩日大片在线看| 欧美日韩国产综合草草| 亚洲网友自拍偷拍| 制服丝袜av成人在线看| 美女看a上一区| 日韩欧美中文一区| 国产精品影视在线观看| 日本一区二区三区国色天香 | 亚洲丶国产丶欧美一区二区三区| 91福利在线看| 午夜精品国产更新| 欧美一区二区三区小说| 人人爽香蕉精品| 精品国产乱码久久久久久老虎| 国内精品视频666| 中文一区一区三区高中清不卡| 成人精品鲁一区一区二区| 亚洲激情一二三区| 欧美一区二区三区免费观看视频 | 欧美精品自拍偷拍| 免费观看在线色综合| 久久夜色精品一区| 91麻豆精东视频| 亚洲成人av一区二区三区| 精品日韩一区二区三区| 国产福利精品一区| 一区二区在线观看av| 91.com视频| 国产不卡免费视频| 日韩精品亚洲专区| 国产精品久久久久影院色老大| 欧美日韩在线免费视频| 另类的小说在线视频另类成人小视频在线 | 欧美一区二区视频在线观看| 国产大陆a不卡| 亚洲成人在线观看视频| 久久久www成人免费无遮挡大片| 97久久超碰国产精品电影| 日本午夜精品视频在线观看| 国产精品国产自产拍高清av | 国产一区二区三区久久悠悠色av| 国产精品久久久久久久久搜平片| 欧美日韩亚洲综合一区二区三区 | 亚洲成a人片综合在线| 久久久久国产成人精品亚洲午夜| 日本韩国欧美国产| 成人午夜私人影院| 蜜桃视频第一区免费观看| 亚洲日本一区二区| 久久综合成人精品亚洲另类欧美| 色视频欧美一区二区三区| 国产永久精品大片wwwapp| 亚洲裸体在线观看| 中日韩av电影| 精品国产在天天线2019| 欧美日韩久久不卡| 色妹子一区二区| 高清视频一区二区| 国产精品久久久久影院色老大 | 日本一区二区三区国色天香 | 一区二区三区在线观看视频| 波多野结衣在线aⅴ中文字幕不卡| 捆绑紧缚一区二区三区视频| 亚洲成a人片综合在线| 亚洲精品欧美激情| ...av二区三区久久精品| 国产无人区一区二区三区| 欧美大片在线观看一区二区| 欧美人牲a欧美精品| 欧美三级欧美一级| 在线视频国产一区| 在线一区二区观看| 色狠狠av一区二区三区| 色欧美88888久久久久久影院| 99久久er热在这里只有精品15| 成人黄色小视频| 91网址在线看| 色综合久久久久综合体| 色婷婷亚洲综合| 色就色 综合激情| 欧美日韩免费视频| 色综合色狠狠天天综合色| 91丨porny丨蝌蚪视频| 欧美怡红院视频| 日韩一区二区三区在线| 88在线观看91蜜桃国自产| 欧美xxxxxxxxx| 国产精品青草久久| 一区二区三区在线影院| 首页欧美精品中文字幕| 久久精工是国产品牌吗| 成人久久视频在线观看| 色婷婷综合久色| 日韩欧美一区二区三区在线| 久久精品一区二区三区av| **性色生活片久久毛片| 丝瓜av网站精品一区二区 | 日韩美女啊v在线免费观看| 一区二区三区av电影| 日韩av高清在线观看| 国产黄人亚洲片| 色综合天天综合狠狠| av动漫一区二区| 91福利在线导航| 欧美一级片免费看| 欧美日韩免费一区二区三区视频| 国产精品69毛片高清亚洲| 国产99久久久精品| 成人h动漫精品| 亚洲一区在线播放| 欧美a一区二区| 九色综合国产一区二区三区| 国产一区不卡在线| 欧美人xxxx| 欧美哺乳videos| 欧美国产一区二区| 国产欧美精品一区| 国产精品久久久久久久久免费樱桃 | 亚洲人成网站色在线观看|