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

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

?? enhance.cpp

?? 《Visual C++數字圖像獲取 處理及實踐應用》一書的源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			 }
			 
			 // 梯度值寫入內存
			 *(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   ;
}


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

	// 顏色表的表項數
	int nColorEntries;

	// 臨時變量
	LPRGBQUAD pDibQuad;

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

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

			pDibQuad++;
		
		}
	}

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

}


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

	double dTmpOne ;
	double dTmpTwo ;

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

	// 圖象象素值
	unsigned char unchValue;

	// 指向時域數據的指針
	complex<double> * pCTData ;
	// 指向頻域數據的指針
	complex<double> * pCFData ;
	
	// 計算進行傅立葉變換的點數	(2的整數次冪)
	dTmpOne = log(nWidth)/log(2);
	dTmpTwo = ceil(dTmpOne)		   ;
	dTmpTwo = pow(2,dTmpTwo)	   ;
	nTransWidth = (int) dTmpTwo	   ;
	
	// 計算進行傅立葉變換的點數 (2的整數次冪)
	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 ;
	}
	
	// 分配內存
	pCTData=new complex<double>[nTransWidth * nTransHeight];
	pCFData=new complex<double>[nTransWidth * nTransHeight];

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

	// 把圖像數據傳給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
	//  注意這里高頻分量采用的范數不是歐式距離,而是無窮大范數
	//  || (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);
		}
	}
	
	// 經過低通濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數據傳給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 ;
		}
	}

	
	// 釋放內存
	delete pCTData;
	delete pCFData;
	pCTData = NULL;
	pCFData = NULL;
	
}

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

	double dTmpOne ;
	double dTmpTwo ;

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

	// 圖象象素值
	unsigned char unchValue;

	// 指向時域數據的指針
	complex<double> * pCTData ;
	// 指向頻域數據的指針
	complex<double> * pCFData ;

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

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

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

	// 把圖像數據傳給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
	// 采用的范數不是歐式距離,而是無窮大范數
	//  || (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);
		}
	}
	// 經過濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數據傳給lpImage
	for(y=0; y<nHeight; y++)
	{
		for(x=0; x<nWidth; x++)
		{
		  // 因為高通濾波器會把低頻成分去掉,所以圖象看起來會比較暗,為了解決這個問題
			// 在經過增強后的圖象加上一個常數,使圖象變得亮起來。嚴格來講這種處理相當于
			// 增加了一些低頻分量(在頻率(0,0))。不過如果不加一個常數,高通效果在觀看
			// 上就不是很方便。
			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 ;
		}
	}

	
	// 釋放內存
	delete pCTData;
	delete pCFData;
	pCTData = NULL;
	pCFData = NULL;
	
}

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

	double dTmpOne ;
	double dTmpTwo ;

	// ButterWorth 濾波系數
	double H       ;

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

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

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

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

	// 把圖像數據傳給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);
		}
	}
	
	// 經過ButterWorth低通濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數據傳給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 ;
		}
	}

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

	double dTmpOne ;
	double dTmpTwo ;

	// ButterWorth 濾波系數
	double H       ;

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

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

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

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

	// 把圖像數據傳給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())  );
		}
	}
	
	// 經過ButterWorth高通濾波的圖象進行反變換
	IFFT_2D(pCFData, pCTData, nWidth, nHeight);

	// 反變換的數據傳給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 ;
		}
	}

	
	// 釋放內存
	delete pCTData;
	delete pCFData;
	pCTData = NULL;
	pCFData = NULL;
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久综合网站| 日韩精品一区二区三区视频播放 | 亚洲国产视频网站| 中文字幕免费不卡在线| 欧美精品一区在线观看| 日韩欧美色电影| 欧美精品三级在线观看| 高清视频一区二区| 久久精品国产亚洲一区二区三区| 亚洲一区二区三区四区不卡| 国产精品国产自产拍高清av| 久久久精品免费网站| 久久久久青草大香线综合精品| 精品美女一区二区| 久久婷婷国产综合精品青草| 国产日韩av一区| 国产视频亚洲色图| 国产精品午夜春色av| 国产精品每日更新| 1区2区3区国产精品| 樱桃国产成人精品视频| 亚洲自拍都市欧美小说| 日本不卡一区二区| 国产乱码精品一区二区三区av| 韩国毛片一区二区三区| 成人深夜视频在线观看| 色爱区综合激月婷婷| 欧美日韩一卡二卡三卡| 91麻豆精品国产自产在线| 精品国产露脸精彩对白 | 国产午夜亚洲精品羞羞网站| 国产日韩欧美不卡在线| 自拍偷拍亚洲激情| 男女性色大片免费观看一区二区 | 精品成人一区二区三区| 国产精品视频你懂的| 亚洲猫色日本管| 石原莉奈一区二区三区在线观看 | 麻豆成人免费电影| 成人18视频在线播放| 色婷婷亚洲综合| 精品精品国产高清一毛片一天堂| 国产精品剧情在线亚洲| 香蕉久久夜色精品国产使用方法| 黑人巨大精品欧美一区| 在线看国产一区| 久久天天做天天爱综合色| 一区二区三区四区在线免费观看| 毛片av中文字幕一区二区| 99re6这里只有精品视频在线观看| 欧美精品一卡两卡| 中文一区一区三区高中清不卡| 亚洲一区av在线| 国产乱码精品一区二区三区忘忧草| 日本电影亚洲天堂一区| 26uuu久久综合| 亚洲一卡二卡三卡四卡| 国产成人自拍网| 欧美一区二区三区免费| 亚洲欧美韩国综合色| 国产一区在线看| 日韩一区二区在线观看| 亚洲蜜桃精久久久久久久| 国产69精品一区二区亚洲孕妇| 在线播放欧美女士性生活| 亚洲美女屁股眼交3| 成人午夜精品一区二区三区| 精品久久久久久久久久久久久久久久久| 国产精品久久久久久久久免费相片| 麻豆极品一区二区三区| 精品视频在线免费| 夜夜嗨av一区二区三区中文字幕 | 91在线看国产| 国产精品天干天干在线综合| 麻豆精品蜜桃视频网站| 欧美一区二区三区视频免费 | 欧美无砖砖区免费| 亚洲欧美日韩电影| 成人深夜在线观看| 国产精品毛片大码女人| 国产成人免费在线视频| 久久久午夜精品理论片中文字幕| 美国一区二区三区在线播放| 欧美一区二区播放| 麻豆国产精品视频| 日韩精品专区在线| 九九精品一区二区| 欧美精品一区二| 国产一区二区三区观看| 欧美国产日韩精品免费观看| 高清视频一区二区| 亚洲三级在线免费| 在线观看不卡一区| 亚洲精品成人悠悠色影视| 在线观看不卡一区| 视频在线观看一区二区三区| 91精品国产一区二区三区蜜臀| 热久久国产精品| 欧美成人精品福利| 国产激情偷乱视频一区二区三区| 久久久久国产精品厨房| 成人性色生活片| 一区二区高清视频在线观看| 欧美性生交片4| 久久国产精品99精品国产| 久久久久国产精品麻豆ai换脸| 成人国产精品视频| 亚洲综合激情另类小说区| 3d动漫精品啪啪一区二区竹菊| 久久国内精品视频| 中文字幕字幕中文在线中不卡视频| 欧美撒尿777hd撒尿| 麻豆成人久久精品二区三区小说| 欧美激情一区二区| 欧美午夜电影一区| 国产电影一区在线| 亚洲一区二区精品3399| 精品欧美一区二区在线观看| 成人午夜av电影| 亚洲成年人影院| 久久久亚洲国产美女国产盗摄| 91老司机福利 在线| 日本美女一区二区| 国产精品护士白丝一区av| 欧美精品三级在线观看| 成人国产精品免费网站| 美女看a上一区| 一区二区三区久久| 久久九九久精品国产免费直播| 91福利区一区二区三区| 国产麻豆一精品一av一免费| 亚洲午夜久久久久中文字幕久| 久久精品亚洲麻豆av一区二区| 欧美三级乱人伦电影| 9久草视频在线视频精品| 日本不卡一区二区| 亚洲一区二区视频在线观看| 久久久久成人黄色影片| 欧美一区二区美女| 91福利国产精品| 99久久精品一区| 国产精品亚洲一区二区三区妖精 | 欧美日本一区二区三区四区| 国产精品自产自拍| 亚洲综合在线视频| 国产精品你懂的在线欣赏| 日韩美女天天操| 欧美日韩精品欧美日韩精品一综合| 99精品国产热久久91蜜凸| 国产成人鲁色资源国产91色综| 免费在线观看一区| 日韩影院精彩在线| 爽好多水快深点欧美视频| 亚洲国产毛片aaaaa无费看| 亚洲人成网站在线| 亚洲午夜羞羞片| 亚洲欧美国产高清| 亚洲精选一二三| 亚洲免费在线播放| 一区二区三区在线观看国产| 亚洲精品中文在线观看| 亚洲人精品午夜| 亚洲视频中文字幕| 亚洲天天做日日做天天谢日日欢 | 国产精品午夜在线观看| 欧美精品一区二区在线观看| 日韩欧美二区三区| 精品免费国产一区二区三区四区| 日韩欧美在线1卡| 日韩一区二区三区电影| 日韩午夜激情免费电影| 日韩欧美黄色影院| 精品国产网站在线观看| 久久久久国产精品麻豆ai换脸| 久久青草欧美一区二区三区| 国产女人18水真多18精品一级做 | 国产乱子轮精品视频| 国产夫妻精品视频| 99久久精品国产毛片| 色噜噜狠狠一区二区三区果冻| 色婷婷国产精品久久包臀| 欧美日韩久久一区二区| 欧美一级日韩一级| 国产欧美一区二区精品秋霞影院 | 91久久久免费一区二区| 在线成人av影院| 26uuu久久天堂性欧美| 国产精品久久久久桃色tv| 亚洲国产视频直播| 狠狠色丁香久久婷婷综合_中 | 99久久99久久精品国产片果冻| 色天使色偷偷av一区二区| 欧美日韩国产小视频| 欧美精品一区二区久久久| √…a在线天堂一区| 免费人成在线不卡| 不卡高清视频专区| 日韩午夜三级在线| 亚洲欧美韩国综合色| 精久久久久久久久久久|