亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久精品国内一区二区三区| 日本一区二区三区四区| 日韩国产精品久久久久久亚洲| 欧美亚洲高清一区二区三区不卡| 亚洲午夜影视影院在线观看| 欧美日韩国产精品自在自线| 日韩av网站在线观看| 欧美精品一区二区三区蜜桃视频 | 欧美久久高跟鞋激| 美国av一区二区| 久久九九影视网| 在线日韩av片| 美女网站在线免费欧美精品| 日本一区二区综合亚洲| 日本精品一级二级| 久久精品国产77777蜜臀| 国产精品无人区| 欧美日韩中文字幕一区二区| 狠狠色丁香婷综合久久| 成人免费一区二区三区在线观看| 欧美综合欧美视频| 国产一区二区不卡在线| 亚洲自拍与偷拍| 久久五月婷婷丁香社区| 色综合久久88色综合天天| 青青草精品视频| 中文字幕一区三区| 日韩视频一区二区在线观看| 99久久精品情趣| 激情图片小说一区| 亚洲综合一区二区三区| 久久久天堂av| 91精品婷婷国产综合久久性色| 大桥未久av一区二区三区中文| 亚洲国产欧美在线人成| 国产欧美一区二区三区在线老狼| 欧美日韩一区小说| 91美女片黄在线| 国产综合久久久久影院| 亚洲成人手机在线| 国产精品美女久久福利网站| 欧美一级淫片007| 日本韩国欧美在线| 岛国av在线一区| 久久成人麻豆午夜电影| 亚洲成人自拍网| 中文字幕av免费专区久久| 日韩一级完整毛片| 欧美日韩精品一二三区| 一本一道综合狠狠老| 99免费精品在线观看| 久久精品二区亚洲w码| 亚洲一二三四区不卡| 亚洲视频在线观看一区| 久久这里只有精品首页| 日韩丝袜美女视频| 欧美精品久久久久久久久老牛影院| 成人激情动漫在线观看| 国产精品乡下勾搭老头1| 日韩激情视频在线观看| 亚洲一区二三区| 亚洲欧美日韩中文播放| 中文字幕中文字幕一区| 欧美激情一二三区| 久久青草欧美一区二区三区| 欧美大片国产精品| 制服丝袜亚洲精品中文字幕| 91免费观看在线| 国产剧情在线观看一区二区| 免费成人av在线| 美女网站色91| 日韩av高清在线观看| 免费的成人av| 久久福利视频一区二区| 精品一区二区三区在线观看国产| 美女网站视频久久| 精品亚洲成av人在线观看| 奇米影视一区二区三区| 麻豆一区二区三| 久久精品噜噜噜成人av农村| 精品一区二区精品| 国产成人精品一区二| 成人三级伦理片| 91麻豆swag| 欧美日韩在线播放| 日韩欧美一区在线| 久久久亚洲欧洲日产国码αv| 国产精品少妇自拍| 亚洲精品va在线观看| 日韩激情视频网站| 国产乱子轮精品视频| 成人av免费在线观看| 色香色香欲天天天影视综合网| 欧美日韩一区不卡| 精品美女一区二区| 国产精品乱码妇女bbbb| 一区二区三区 在线观看视频| 亚洲成人免费看| 国产一区二区三区在线观看免费| av男人天堂一区| 欧美日韩视频在线观看一区二区三区 | 欧美军同video69gay| 91麻豆精品国产91久久久久| 久久伊99综合婷婷久久伊| 国产精品区一区二区三区| 一区二区三区高清| 麻豆专区一区二区三区四区五区| 国产成人小视频| 在线看日本不卡| 精品日韩在线一区| 亚洲天堂av一区| 美国欧美日韩国产在线播放| 成人自拍视频在线| 欧美日韩成人综合| 亚洲国产精品激情在线观看| 亚洲影视在线观看| 国产激情偷乱视频一区二区三区| 欧洲av在线精品| 久久九九国产精品| 日韩中文字幕不卡| 99r国产精品| 一本到高清视频免费精品| 88在线观看91蜜桃国自产| 国产欧美一区二区三区在线看蜜臀| 亚洲高清免费一级二级三级| 国产福利一区二区三区在线视频| 欧美日韩亚洲综合一区二区三区 | 欧美一区二区三区公司| 国产精品乱码妇女bbbb| 麻豆免费精品视频| 在线国产亚洲欧美| 欧美精彩视频一区二区三区| 奇米四色…亚洲| 欧美性猛交xxxx乱大交退制版 | 国产一区三区三区| 欧美日韩精品电影| 一区二区三区中文在线观看| 国产91在线观看| 欧美一区二区免费观在线| 依依成人综合视频| 99国产精品国产精品久久| 国产亚洲一区二区三区在线观看| 天堂va蜜桃一区二区三区| 91在线你懂得| 国产精品婷婷午夜在线观看| 国内精品自线一区二区三区视频| 久久美女高清视频| 老色鬼精品视频在线观看播放| 欧美日韩在线免费视频| 一区二区三区.www| 一本色道久久综合亚洲aⅴ蜜桃| 国产欧美视频一区二区| 国产精品一线二线三线精华| 日韩欧美你懂的| 蜜臀va亚洲va欧美va天堂| 欧美私模裸体表演在线观看| 国产精品嫩草99a| www.日本不卡| 亚洲欧洲日韩在线| 91在线精品一区二区三区| 精品国产电影一区二区| 久草热8精品视频在线观看| 欧美一级午夜免费电影| 乱一区二区av| 精品国产91久久久久久久妲己| 久久99国产乱子伦精品免费| 日韩欧美二区三区| 国产一区日韩二区欧美三区| 国产日韩欧美亚洲| 成人免费高清视频| 久久综合久久99| 东方aⅴ免费观看久久av| 久久午夜色播影院免费高清| 国产不卡视频在线播放| 国产精品国产自产拍在线| 91麻豆自制传媒国产之光| 亚洲一区二区三区四区在线| 欧美日韩精品三区| 久久99精品久久久久婷婷| 欧美一级欧美一级在线播放| 韩国精品久久久| 精品日韩99亚洲| 成人午夜精品一区二区三区| 日韩毛片视频在线看| 欧美日韩精品三区| 精品亚洲国内自在自线福利| 欧美国产激情二区三区| 91国偷自产一区二区三区成为亚洲经典| 亚洲一区二区三区激情| 欧美一区二区三区不卡| 国产成人精品影院| 一区二区激情视频| 91精品国产麻豆国产自产在线 | 亚洲电影视频在线| 精品入口麻豆88视频| 99久久久无码国产精品| 午夜欧美大尺度福利影院在线看| 精品国产人成亚洲区| 91亚洲精品乱码久久久久久蜜桃| 日韩电影在线观看电影|