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

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

?? enhance.cpp

?? 提供了圖像識別
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			 }
			 
			 // 梯度值寫入內(nèi)存
			 *(pdGrad+y*nWidth+x)=dGrad;
	 }
	for(y=0; y<nHeight ; y++ )
	{
		for(x=0 ; x<nWidth ; x++ )
		{
			lpImage[y*nWidth+x] = (unsigned char)max(0,min(255,(lpImage[y*nWidth+x] + (int)pdGrad[y*nWidth+x]) ));
		}
	}
  delete []pdGrad ;
	pdGrad = NULL   ;
}


/*************************************************************************
 *
 * 函數(shù)名稱:
 *   ReplaceDIBColorTable()
 *
 * 參數(shù):
 *   CDib * pDib		- 指向CDib類的指針,含有原始圖象信息
 *   LPBYTE pColorsTable	- 偽彩色編碼表
 *
 * 返回值:
 *   BOOL			- 成功返回TRUE,否則返回FALSE。
 *
 * 說明:
 *   該函數(shù)用指定的偽彩色編碼表來替換指定的DIB圖像的顏色表,參數(shù)pColorsTable
 *   指向要替換的偽彩色編碼表。
 *
 ************************************************************************/
BOOL  ReplaceDIBColorTable(CDib* pDib, LPBYTE  pColorsTable)
{
	
	// 循環(huán)變量
	int i;

	// 顏色表的表項數(shù)
	int nColorEntries;

	// 臨時變量
	LPRGBQUAD pDibQuad;

	// 指向DIB的顏色表
	pDibQuad = (LPRGBQUAD) pDib->m_lpvColorTable;

	// 獲取DIB中顏色表中的表項數(shù)
	nColorEntries = pDib->m_nColorTableEntries;
	
	// 判斷顏色數(shù)目是否是256色
	if (nColorEntries == 256)
	{			
		// 讀取偽彩色編碼,更新DIB顏色表
		for (i = 0; i < nColorEntries; i++)
		{		
			// 更新DIB調(diào)色板紅色分量
			pDibQuad->rgbRed = pColorsTable[i * 4];
				
			// 更新DIB調(diào)色板綠色分量
			pDibQuad->rgbGreen = pColorsTable[i * 4 + 1];
				
			// 更新DIB調(diào)色板藍色分量
			pDibQuad->rgbBlue = pColorsTable[i * 4 + 2];
				
			// 更新DIB調(diào)色板保留位
			pDibQuad->rgbReserved = 0;

			pDibQuad++;
		
		}
	}

	// 如果不是256色的DIB,則不進行處理
	else
		return FALSE;
	
	// 返回
	return TRUE;

}


/*************************************************************************
 *
 * \函數(shù)名稱:
 *   LowPassFilterEnhance()
 *
 * \輸入?yún)?shù):
 *   LPBYTE lpImage					- 指向需要增強得圖象數(shù)據(jù)
 *   int nWidth							- 數(shù)據(jù)寬度
 *   int nHeight						- 數(shù)據(jù)高度
 *   int nRadius            - 低通濾波的濾波半徑
 *
 * \返回值:
 *   無
 *
 * \說明:
 *   lpImage 是指向需要增強的數(shù)據(jù)指針。注意,這個指針指向的數(shù)據(jù)區(qū)不能是CDib指向的數(shù)據(jù)區(qū)
 *	 因為CDib指向的數(shù)據(jù)區(qū)的每一行是DWORD對齊的。
 *   經(jīng)過低通濾波的數(shù)據(jù)存儲在lpImage當中。
 *
 *************************************************************************
 */
void LowPassFilterEnhance(LPBYTE lpImage, int nWidth, int nHeight, int nRadius)
{
	// 循環(huán)控制變量
	int y ;
	int x ;

	double dTmpOne ;
	double dTmpTwo ;

	// 傅立葉變換的寬度和高度(2的整數(shù)次冪)
	int nTransWidth ;
	int nTransHeight;

	// 圖象象素值
	unsigned char unchValue;

	// 指向時域數(shù)據(jù)的指針
	complex<double> * pCTData ;
	// 指向頻域數(shù)據(jù)的指針
	complex<double> * pCFData ;
	
	// 計算進行傅立葉變換的點數(shù)	(2的整數(shù)次冪)
	dTmpOne = log(nWidth)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransWidth = (int) dTmpTwo	   ;
	
	// 計算進行傅立葉變換的點數(shù) (2的整數(shù)次冪)
	dTmpOne = log(nHeight)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransHeight = (int) dTmpTwo   ;

	// 傅立葉變換的實部和虛部
	double dReal;
	double dImag;

	// 低通濾波的半徑不能超過頻域的最大半徑
	if(nRadius>nTransWidth-1 || nRadius>nTransHeight-1)
	{
		return ;
	}
	
	// 分配內(nèi)存
	pCTData=new complex<double>[nTransWidth * nTransHeight];
	pCFData=new complex<double>[nTransWidth * nTransHeight];

	// 初始化
	// 圖像數(shù)據(jù)的寬和高不一定是2的整數(shù)次冪,所以pCTData
	// 有一部分數(shù)據(jù)需要補0
	for(y=0; y<nTransHeight; y++)
	{
		for(x=0; x<nTransWidth; x++)
		{
			pCTData[y*nTransWidth + x]=complex<double>(0,0);
		}
	}

	// 把圖像數(shù)據(jù)傳給pCTData
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
			unchValue = lpImage[y*nWidth +x];
			pCTData[y*nTransWidth + x]=complex<double>(unchValue,0);
		}
	}
	
	// 傅立葉正變換
	DIBFFT_2D(pCTData, nWidth, nHeight, pCFData) ;

	// 下面開始實施低通濾波,把所有大于nRadius的高頻分量設置為0
	//  注意這里高頻分量采用的范數(shù)不是歐式距離,而是無窮大范數(shù)
	//  || (u,v)-(0,0) || = max(|u|,|v|) 
	for(y=nRadius; y<nTransHeight; y++)
	{
		for(x=nRadius; x<nTransWidth; x++)
		{
			pCFData[y*nTransWidth + x]=complex<double>(0,0);
		}
	}
	
	// 經(jīng)過低通濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數(shù)據(jù)傳給lpImage
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
			dReal = pCTData[y*nTransWidth + x].real() ;
			dImag = pCTData[y*nTransWidth + x].imag() ;
			unchValue = (unsigned char)max(0,min(255,sqrt(dReal*dReal+dImag*dImag) ));
			lpImage[y*nWidth + x] = unchValue ;
		}
	}

	
	// 釋放內(nèi)存
	delete pCTData;
	delete pCFData;
	pCTData = NULL;
	pCFData = NULL;
	
}

/*************************************************************************
 *
 * \函數(shù)名稱:
 *   HighPassFilterEnhance()
 *
 * \輸入?yún)?shù):
 *   LPBYTE lpImage					- 指向需要增強得圖象數(shù)據(jù)
 *   int nWidth							- 數(shù)據(jù)寬度
 *   int nHeight						- 數(shù)據(jù)高度
 *   int nRadius            - 高通濾波的濾波半徑
 *
 * \返回值:
 *   無
 *
 * \說明:
 *   lpImage 是指向需要增強的數(shù)據(jù)指針。注意,這個指針指向的數(shù)據(jù)區(qū)不能是CDib指向的數(shù)據(jù)區(qū)
 *	 因為CDib指向的數(shù)據(jù)區(qū)的每一行是DWORD對齊的。
 *   經(jīng)過高通濾波的數(shù)據(jù)存儲在lpImage當中。
 *
 *************************************************************************
 */
void HighPassFilterEnhance(LPBYTE lpImage, int nWidth, int nHeight, int nRadius)
{
	// 循環(huán)控制變量
	int y ;
	int x ;

	double dTmpOne ;
	double dTmpTwo ;

	// 傅立葉變換的寬度和高度(2的整數(shù)次冪)
	int nTransWidth ;
	int nTransHeight;

	// 圖象象素值
	unsigned char unchValue;

	// 指向時域數(shù)據(jù)的指針
	complex<double> * pCTData ;
	// 指向頻域數(shù)據(jù)的指針
	complex<double> * pCFData ;

	double dReal;
	double dImag;
	
	// 計算進行傅立葉變換的點數(shù)	(2的整數(shù)次冪)
	dTmpOne = log(nWidth)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransWidth = (int) dTmpTwo	   ;
	
	// 計算進行傅立葉變換的點數(shù) (2的整數(shù)次冪)
	dTmpOne = log(nHeight)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransHeight = (int) dTmpTwo   ;

	// 濾波的半徑不能超過頻域的最大半徑
	if(nRadius>nTransWidth-1 || nRadius>nTransHeight-1)
	{
		return ;
	}
	
	// 分配內(nèi)存
	pCTData=new complex<double>[nTransWidth * nTransHeight];
	pCFData=new complex<double>[nTransWidth * nTransHeight];

	// 初始化
	// 圖像數(shù)據(jù)的寬和高不一定是2的整數(shù)次冪,所以pCTData
	// 有一部分數(shù)據(jù)需要補0
	for(y=0; y<nTransHeight; y++)
	{
		for(x=0; x<nTransWidth; x++)
		{
			pCTData[y*nTransWidth + x]=complex<double>(0,0);
		}
	}

	// 把圖像數(shù)據(jù)傳給pCTData
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
			unchValue = lpImage[y*nWidth +x];
			pCTData[y*nTransWidth + x]=complex<double>(unchValue,0);
		}
	}
	
	// 傅立葉正變換
	DIBFFT_2D(pCTData, nWidth, nHeight, pCFData) ;

	// 下面開始濾波,把所有小于nRadius的低頻分量設置為0
	// 采用的范數(shù)不是歐式距離,而是無窮大范數(shù)
	//  || (u,v)-(0,0) || = max(|u|,|v|) 
	for(y=0; y<nRadius; y++)
	{
		for(x=0; x<nRadius; x++)
		{
			pCFData[y*nTransWidth + x]=complex<double>(0,0);
		}
	}
	// 經(jīng)過濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數(shù)據(jù)傳給lpImage
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
		  // 因為高通濾波器會把低頻成分去掉,所以圖象看起來會比較暗,為了解決這個問題
			// 在經(jīng)過增強后的圖象加上一個常數(shù),使圖象變得亮起來。嚴格來講這種處理相當于
			// 增加了一些低頻分量(在頻率(0,0))。不過如果不加一個常數(shù),高通效果在觀看
			// 上就不是很方便。
			dReal = pCTData[y*nTransWidth + x].real() ;
			dImag = pCTData[y*nTransWidth + x].imag() ;
			unchValue = (unsigned char)max(0,min(255,(sqrt(dReal*dReal+dImag*dImag)+100 )));
			lpImage[y*nWidth + x] = unchValue ;
		}
	}

	
	// 釋放內(nèi)存
	delete pCTData;
	delete pCFData;
	pCTData = NULL;
	pCFData = NULL;
	
}

/*************************************************************************
 *
 * \函數(shù)名稱:
 *   ButterWorthLowPass()
 *
 * \輸入?yún)?shù):
 *   LPBYTE lpImage					- 指向需要增強得圖象數(shù)據(jù)
 *   int nWidth							- 數(shù)據(jù)寬度
 *   int nHeight						- 數(shù)據(jù)高度
 *   int nRadius            - ButterWorth低通濾波的“半功率”點
 *
 * \返回值:
 *   無
 *
 * \說明:
 *   lpImage 是指向需要增強的數(shù)據(jù)指針。注意,這個指針指向的數(shù)據(jù)區(qū)不能是CDib指向的數(shù)據(jù)區(qū)
 *	 因為CDib指向的數(shù)據(jù)區(qū)的每一行是DWORD對齊的。
 *   經(jīng)過ButterWorth低通濾波的數(shù)據(jù)存儲在lpImage當中。
 *
 *************************************************************************
 */
void ButterWorthLowPass(LPBYTE lpImage, int nWidth, int nHeight, int nRadius)
{
	// 循環(huán)控制變量
	int y ;
	int x ;

	double dTmpOne ;
	double dTmpTwo ;

	// ButterWorth 濾波系數(shù)
	double H       ;

	// 傅立葉變換的寬度和高度(2的整數(shù)次冪)
	int nTransWidth ;
	int nTransHeight;

	double dReal    ;
	double dImag    ;
	// 圖象象素值
	unsigned char unchValue;

	// 指向時域數(shù)據(jù)的指針
	complex<double> * pCTData ;
	// 指向頻域數(shù)據(jù)的指針
	complex<double> * pCFData ;
	
	// 計算進行傅立葉變換的點數(shù)	(2的整數(shù)次冪)
	dTmpOne = log(nWidth)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransWidth = (int) dTmpTwo	   ;
	
	// 計算進行傅立葉變換的點數(shù) (2的整數(shù)次冪)
	dTmpOne = log(nHeight)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransHeight = (int) dTmpTwo   ;
	
	// 分配內(nèi)存
	pCTData=new complex<double>[nTransWidth * nTransHeight];
	pCFData=new complex<double>[nTransWidth * nTransHeight];

	// 初始化
	// 圖像數(shù)據(jù)的寬和高不一定是2的整數(shù)次冪,所以pCTData
	// 有一部分數(shù)據(jù)需要補0
	for(y=0; y<nTransHeight; y++)
	{
		for(x=0; x<nTransWidth; x++)
		{
			pCTData[y*nTransWidth + x]=complex<double>(0,0);
		}
	}

	// 把圖像數(shù)據(jù)傳給pCTData
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
			unchValue = lpImage[y*nWidth +x];
			pCTData[y*nTransWidth + x]=complex<double>(unchValue,0);
		}
	}
	
	// 傅立葉正變換
	DIBFFT_2D(pCTData, nWidth, nHeight, pCFData) ;

	// 下面開始實施ButterWorth低通濾波
	for(y=0; y<nTransHeight; y++)
	{
		for(x=0; x<nTransWidth; x++)
		{
			H = (double)(y*y+x*x) ; 
			H = H / (nRadius * nRadius); 
			H = 1/(1+H)            ;
			pCFData[y*nTransWidth + x]=complex<double>(pCFData[y*nTransWidth + x].real()*H,
																								 pCFData[y*nTransWidth + x].imag()*H);
		}
	}
	
	// 經(jīng)過ButterWorth低通濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數(shù)據(jù)傳給lpImage
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
			dReal = pCTData[y*nTransWidth + x].real() ;
			dImag = pCTData[y*nTransWidth + x].imag() ;
			unchValue = (unsigned char)max(0,min(255,sqrt(dReal*dReal+dImag*dImag) ));
			lpImage[y*nWidth + x] = unchValue ;
		}
	}

	
	// 釋放內(nèi)存
	delete pCTData;
	delete pCFData;
	pCTData = NULL;
	pCFData = NULL;
	
}
/*************************************************************************
 *
 * \函數(shù)名稱:
 *   ButterWorthHighPass()
 *
 * \輸入?yún)?shù):
 *   LPBYTE lpImage					- 指向需要增強得圖象數(shù)據(jù)
 *   int nWidth							- 數(shù)據(jù)寬度
 *   int nHeight						- 數(shù)據(jù)高度
 *   int nRadius            - ButterWorth高通濾波的“半功率”點
 *
 * \返回值:
 *   無
 *
 * \說明:
 *   lpImage 是指向需要增強的數(shù)據(jù)指針。注意,這個指針指向的數(shù)據(jù)區(qū)不能是
 *	 CDib指向的數(shù)據(jù)區(qū), 因為CDib指向的數(shù)據(jù)區(qū)的每一行是DWORD對齊的。
 *   經(jīng)過ButterWorth高通濾波的數(shù)據(jù)存儲在lpImage當中。
 *
 *************************************************************************
 */
void ButterWorthHighPass(LPBYTE lpImage, int nWidth, int nHeight, int nRadius)
{
	// 循環(huán)控制變量
	int y ;
	int x ;

	double dTmpOne ;
	double dTmpTwo ;

	// ButterWorth 濾波系數(shù)
	double H       ;

	// 傅立葉變換的寬度和高度(2的整數(shù)次冪)
	int nTransWidth ;
	int nTransHeight;

	double dReal    ;
	double dImag    ;
	// 圖象象素值
	unsigned char unchValue;

	// 指向時域數(shù)據(jù)的指針
	complex<double> * pCTData ;
	// 指向頻域數(shù)據(jù)的指針
	complex<double> * pCFData ;
	
	// 計算進行傅立葉變換的點數(shù)	(2的整數(shù)次冪)
	dTmpOne = log(nWidth)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransWidth = (int) dTmpTwo	   ;
	
	// 計算進行傅立葉變換的點數(shù) (2的整數(shù)次冪)
	dTmpOne = log(nHeight)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransHeight = (int) dTmpTwo   ;
	
	// 分配內(nèi)存
	pCTData=new complex<double>[nTransWidth * nTransHeight];
	pCFData=new complex<double>[nTransWidth * nTransHeight];

	// 初始化
	// 圖像數(shù)據(jù)的寬和高不一定是2的整數(shù)次冪,所以pCTData
	// 有一部分數(shù)據(jù)需要補0
	for(y=0; y<nTransHeight; y++)
	{
		for(x=0; x<nTransWidth; x++)
		{
			pCTData[y*nTransWidth + x]=complex<double>(0,0);
		}
	}

	// 把圖像數(shù)據(jù)傳給pCTData
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
			unchValue = lpImage[y*nWidth +x];
			pCTData[y*nTransWidth + x]=complex<double>(unchValue,0);
		}
	}
	
	// 傅立葉正變換
	DIBFFT_2D(pCTData, nWidth, nHeight, pCFData) ;

	// 下面開始實施ButterWorth高通濾波
	for(y=0; y<nTransHeight; y++)
	{
		for(x=0; x<nTransWidth; x++)
		{
			
			H = (double)(y*y+x*x) ; 
			H = (nRadius * nRadius) / H ; 
			H = 1/(1+H)            ;
			pCFData[y*nTransWidth + x]=complex<double>(H*(pCFData[y*nTransWidth + x].real()),
																								 H*(pCFData[y*nTransWidth + x].imag())  );
		}
	}
	
	// 經(jīng)過ButterWorth高通濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數(shù)據(jù)傳給lpImage
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
			dReal = pCTData[y*nTransWidth + x].real() ;
			dImag = pCTData[y*nTransWidth + x].imag() ;
			unchValue = (unsigned char)max(0,min(255,sqrt(dReal*dReal+dImag*dImag)+100 ));
			lpImage[y*nWidth + x] = unchValue ;
		}
	}

	
	// 釋放內(nèi)存
	delete pCTData;
	delete pCFData;
	pCTData = NULL;
	pCFData = NULL;
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲四区在线观看| 99精品久久免费看蜜臀剧情介绍| 亚洲午夜电影网| 亚洲视频每日更新| 自拍视频在线观看一区二区| 亚洲国产成人在线| 国产精品午夜电影| 国产精品视频线看| 日韩伦理电影网| 一区二区三区在线视频观看58| 自拍偷拍亚洲综合| 亚洲欧美国产高清| 亚洲五月六月丁香激情| 日韩在线卡一卡二| 久久99久久久欧美国产| 国产麻豆精品久久一二三| 国产一区福利在线| 懂色av噜噜一区二区三区av| av福利精品导航| 色就色 综合激情| 欧美天堂亚洲电影院在线播放| 欧美丝袜丝交足nylons| 欧美乱妇15p| 欧美一区二区三区四区在线观看| 日韩欧美亚洲国产精品字幕久久久| 精品精品欲导航| 国产欧美一区二区精品性色超碰 | 欧美大肚乱孕交hd孕妇| 精品国产髙清在线看国产毛片 | 丝袜美腿亚洲一区二区图片| 免费人成在线不卡| 国产精品996| 99热这里都是精品| 欧美日韩一区二区不卡| 日韩精品一区二区三区在线播放 | 欧美一区二区在线视频| 26uuu成人网一区二区三区| 国产精品视频一二| 亚洲综合激情另类小说区| 美女一区二区久久| 成人av网站在线| 欧美性色黄大片手机版| 精品播放一区二区| 亚洲免费av在线| 久久精品72免费观看| 99精品国产视频| 欧美一区二区三区性视频| 中国色在线观看另类| 亚洲一区欧美一区| 国产一区不卡在线| 欧美日韩在线不卡| 欧美韩国日本不卡| 午夜精品久久久久久久蜜桃app| 国产乱码精品一区二区三区忘忧草| 97国产精品videossex| 91精品国产福利| 麻豆一区二区三| av日韩在线网站| 日韩精品一区二区三区视频播放 | 久久99国内精品| 色94色欧美sute亚洲线路一ni| 欧美一级黄色大片| 亚洲欧美另类在线| 国产真实乱对白精彩久久| 在线视频观看一区| 久久精品欧美一区二区三区麻豆| 亚洲与欧洲av电影| 成人精品免费视频| 欧美va天堂va视频va在线| 亚洲五码中文字幕| 不卡免费追剧大全电视剧网站| 日韩一级片网址| 一区二区高清视频在线观看| 国产剧情一区在线| 欧美一级二级在线观看| 亚洲自拍都市欧美小说| 成人午夜视频免费看| 日韩亚洲欧美在线观看| 亚洲国产精品久久艾草纯爱| eeuss鲁片一区二区三区在线看| 久久久一区二区| 久久精品二区亚洲w码| 欧美挠脚心视频网站| 亚洲国产人成综合网站| 91啪在线观看| 中文字幕国产精品一区二区| 狠狠色狠狠色综合日日91app| 欧美性猛片xxxx免费看久爱| 亚洲欧美日韩国产另类专区| 国产成人亚洲综合a∨婷婷| 欧美videos中文字幕| 视频在线在亚洲| 欧美精品一二三区| 亚洲国产日韩a在线播放| 欧美亚洲综合网| 亚洲最大的成人av| 在线观看日韩av先锋影音电影院| 亚洲欧美综合在线精品| 99精品欧美一区二区三区小说| 中文字幕乱码久久午夜不卡| 成人高清免费观看| 国产欧美日韩在线视频| 国产福利一区二区三区在线视频| 精品国产免费人成电影在线观看四季| 五月激情六月综合| 538prom精品视频线放| 这里只有精品电影| 韩国一区二区视频| 亚洲国产精品自拍| 一区二区在线观看视频在线观看| 成a人片国产精品| 欧美韩国日本一区| 成年人国产精品| 一区二区三区欧美久久| 欧亚洲嫩模精品一区三区| 亚洲综合清纯丝袜自拍| 欧美日韩免费电影| 日韩影院精彩在线| 日韩视频一区二区三区在线播放| 日韩av不卡在线观看| 欧美电影免费观看高清完整版在线 | 亚洲午夜精品网| 91麻豆精品国产91久久久使用方法| 日本伊人精品一区二区三区观看方式| 欧美精品黑人性xxxx| 美女任你摸久久| 国产亚洲精品福利| 97精品电影院| 亚洲第一成年网| 欧美一区二视频| 国产99一区视频免费| 亚洲日韩欧美一区二区在线| 欧洲另类一二三四区| 欧美aa在线视频| 欧美极品aⅴ影院| 欧美色成人综合| 精品一区二区国语对白| 国产精品毛片大码女人| 欧美视频精品在线| 久久99精品国产麻豆婷婷 | 奇米影视在线99精品| 精品成人免费观看| 色综合一个色综合| 久久疯狂做爰流白浆xx| 国产精品高清亚洲| 欧美久久一二三四区| 国产成人午夜精品影院观看视频| 亚洲最新视频在线播放| 精品国产污网站| 欧美午夜精品久久久| 国产一区在线看| 亚洲午夜日本在线观看| 久久午夜电影网| 欧美揉bbbbb揉bbbbb| 国产老妇另类xxxxx| 午夜欧美2019年伦理 | 国产宾馆实践打屁股91| 亚洲国产成人高清精品| 国产色91在线| 91精品国产欧美一区二区| 成a人片亚洲日本久久| 久久99国产精品尤物| 一区二区三区四区视频精品免费| 26uuu色噜噜精品一区| 91一区二区三区在线播放| 激情六月婷婷久久| 亚洲v日本v欧美v久久精品| 国产精品美女www爽爽爽| 日韩精品一区二区三区中文精品| 91极品美女在线| 成人性生交大片免费看视频在线 | 日韩专区欧美专区| 中文字幕在线观看一区| 欧美变态口味重另类| 欧美色网站导航| 99精品视频在线免费观看| 激情小说欧美图片| 免费人成黄页网站在线一区二区| 一区二区三区电影在线播| 久久精品人人做人人综合| 91精品国产综合久久久久久久久久 | 午夜精品一区在线观看| 亚洲精品国产一区二区精华液| 久久久久久久久久久99999| 欧美一区二区三区在线视频 | 国产精品家庭影院| 久久亚洲二区三区| 欧美一区二区三区思思人| 欧美图片一区二区三区| 色菇凉天天综合网| 99久久综合99久久综合网站| 国产激情视频一区二区三区欧美| 美女高潮久久久| 日本va欧美va精品| 午夜av一区二区| 亚洲第一激情av| 午夜精品一区二区三区电影天堂| 亚洲一区二区五区| 亚洲午夜精品久久久久久久久| 一区二区成人在线观看|