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

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

?? dib.cpp

?? 本vc++代碼實現了人臉檢測系統
?? 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| 国内精品视频一区二区三区八戒| 欧美tickling网站挠脚心| 欧洲av在线精品| 麻豆成人免费电影| 精品粉嫩超白一线天av| 色一情一乱一乱一91av| av成人老司机| 精品国产乱码久久久久久老虎| 亚洲bdsm女犯bdsm网站| 亚洲一区二区免费视频| 91超碰这里只有精品国产| 亚洲一区二区中文在线| 国产成人午夜视频| 亚洲色欲色欲www| 色综合久久中文字幕综合网| 一二三区精品视频| 老司机精品视频导航| 亚洲午夜电影网| 七七婷婷婷婷精品国产| 国产综合一区二区| 国产成人午夜99999| 亚洲午夜在线视频| 国产毛片精品视频| 国产不卡免费视频| 欧美在线观看18| 国产香蕉久久精品综合网| 亚洲成国产人片在线观看| 欧美日韩国产系列| 蜜桃视频在线观看一区二区| 久久男人中文字幕资源站| 成人中文字幕在线| 亚洲色图欧洲色图| 在线播放/欧美激情| 国产一区在线看| 国产精品全国免费观看高清 | 久久精品噜噜噜成人av农村| 精品久久久久久久一区二区蜜臀| 国产精品夜夜嗨| 亚洲伊人色欲综合网| 制服丝袜亚洲色图| 国产黄人亚洲片| 亚洲人成在线播放网站岛国| 91精品国产综合久久精品性色| 成人精品国产福利| 亚洲1区2区3区视频| 精品免费日韩av| 欧美日韩中文国产| 国产盗摄一区二区三区| 蜜桃在线一区二区三区| 成人免费一区二区三区视频| 久久久国产精品午夜一区ai换脸| 欧美午夜理伦三级在线观看| 精品一区二区影视| 日韩电影在线观看一区| 中文字幕亚洲欧美在线不卡| 久久久亚洲欧洲日产国码αv| 欧美视频在线一区二区三区| 久久久久久久久蜜桃| 亚洲视频香蕉人妖| 3d成人h动漫网站入口| 成人ar影院免费观看视频| 婷婷久久综合九色国产成人| 国产精品久久久爽爽爽麻豆色哟哟| 欧美群妇大交群中文字幕| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品网曝门| 欧美精品在线观看播放| 99久久免费视频.com| 亚洲福利视频一区| 国产精品水嫩水嫩| 欧美在线你懂得| 91首页免费视频| 国产精品99久久久久| 婷婷综合久久一区二区三区| 亚洲国产精品激情在线观看| 色婷婷综合久久久中文一区二区| 久久久久久久久久久久电影 | 91黄视频在线| 国产原创一区二区三区| 午夜精品视频一区| 亚洲激情图片qvod| 国产欧美日韩一区二区三区在线观看| 91麻豆精品国产自产在线观看一区| 99精品视频在线播放观看| 国产精品69毛片高清亚洲| 免费成人在线播放| 亚洲高清视频在线| 亚洲一线二线三线久久久| 亚洲欧美日韩国产综合| 中文字幕亚洲一区二区av在线| 日本一区二区免费在线观看视频 | 麻豆国产91在线播放| 亚洲一区免费在线观看| 国产精品视频一区二区三区不卡| 国产肉丝袜一区二区| 精品国产sm最大网站免费看| 制服丝袜中文字幕一区| 欧美人妖巨大在线| 欧美三区在线视频| 日本乱人伦aⅴ精品| 91黄色免费网站| 欧美性猛交xxxx乱大交退制版| 国产在线精品不卡| 开心九九激情九九欧美日韩精美视频电影| 久久久亚洲午夜电影| 日韩视频一区二区| 欧美一区二区三区影视| 欧美亚洲高清一区二区三区不卡| 国产91在线|亚洲| 成a人片国产精品| 国产91色综合久久免费分享| 卡一卡二国产精品| 国产麻豆精品在线| 国产成人av在线影院| 日韩av不卡一区二区| 亚洲一区二区视频在线观看| 一二三四社区欧美黄| 一区二区久久久久久| 洋洋成人永久网站入口| 亚洲精品视频在线看| 午夜精品福利久久久| 国产乱码精品一区二区三区忘忧草 | 亚洲午夜影视影院在线观看| 欧美日韩午夜在线视频| 91免费版在线| 国产曰批免费观看久久久| 成人黄色在线视频| 欧美日韩卡一卡二| 精品欧美一区二区在线观看 | 东方aⅴ免费观看久久av| 91亚洲精品一区二区乱码| 欧美男同性恋视频网站| 精品国产乱码久久久久久影片| 精品欧美一区二区久久| 综合色中文字幕| 26uuu色噜噜精品一区| 伊人色综合久久天天人手人婷| 亚洲国产另类av| 国产高清一区日本| 欧美电影一区二区三区| 亚洲婷婷在线视频| 国产一区欧美一区| 国产精品99久久久久久似苏梦涵 | 国产欧美日韩三区| 亚洲成年人网站在线观看| 国产成人8x视频一区二区| 欧美高清在线视频| 久久久天堂av| 国产亚洲精品福利| 国产欧美一区二区精品久导航| 亚洲精品一区二区三区99| 国产欧美精品一区二区色综合朱莉| 午夜视频在线观看一区| 一本久久综合亚洲鲁鲁五月天| 国产精品欧美一区喷水| 国产激情一区二区三区| 国产日韩在线不卡| 国产精品中文字幕欧美| 久久久亚洲午夜电影| 国产一区二三区好的| 精品欧美一区二区久久| 久久99深爱久久99精品| 欧美一区二区三区视频免费播放| 婷婷成人激情在线网| 欧美人妇做爰xxxⅹ性高电影| 亚洲午夜视频在线| 欧美在线视频不卡| 亚洲国产视频在线| 欧美日韩一区 二区 三区 久久精品| 一区二区理论电影在线观看| 91国偷自产一区二区三区观看| 亚洲精品高清在线| 在线视频你懂得一区二区三区| 亚洲精品第一国产综合野| 欧美性xxxxx极品少妇| 亚洲一区二区三区在线| 欧美视频一二三区| 强制捆绑调教一区二区| 日韩免费在线观看| 国产精品系列在线播放| 成人欧美一区二区三区白人| 色婷婷久久一区二区三区麻豆| 亚洲午夜久久久久| 欧美日韩一级视频| 精品中文av资源站在线观看| 国产色综合一区| 97久久精品人人做人人爽| 亚洲另类中文字| 欧美精品久久一区二区三区| 久久成人精品无人区| 中文字幕乱码久久午夜不卡 | 日韩国产精品91| 日韩一级欧美一级| 国产精品18久久久久久久网站| 国产精品进线69影院| 欧美三级三级三级| 国产一区二区三区黄视频| 一区在线观看免费| 日韩女优av电影|