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

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

?? edgecontour.cpp

?? 《VC++數字圖像處理》人民郵電大學出版社 何斌 馬天予 王遠堅 朱紅蓮
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
	if (!Template(lpNewDIBBits2, lWidth, lHeight, 
		iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
	{
		return FALSE;
	}

	//求兩幅緩存圖像的最大值
	for(j = 0; j <lHeight; j++)
	{
		for(i = 0;i <lWidth-1; i++)
		{

			// 指向緩存圖像1倒數第j行,第i個象素的指針			
			lpDst1 = (char *)lpNewDIBBits1 + lWidth * j + i;

			// 指向緩存圖像2倒數第j行,第i個象素的指針			
			lpDst2 = (char *)lpNewDIBBits2 + lWidth * j + i;
			
			if(*lpDst2 > *lpDst1)
				*lpDst1 = *lpDst2;
		
		}
	}

	// 拷貝源圖像到緩存圖像中
	memcpy(lpNewDIBBits2, lpDIBBits, lWidth * lHeight);
	
	// 設置Kirsch模板4參數
	aTemplate[0] = -3.0;
	aTemplate[1] = -3.0;
	aTemplate[2] = -3.0;
	aTemplate[3] = -3.0;
	aTemplate[4] = 0.0;
	aTemplate[5] = 5.0;
	aTemplate[6] = -3.0;
	aTemplate[7] = 5.0;
	aTemplate[8] = 5.0;

	// 調用Template()函數
	if (!Template(lpNewDIBBits2, lWidth, lHeight, 
		iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
	{
		return FALSE;
	}

	//求兩幅緩存圖像的最大值
	for(j = 0; j <lHeight; j++)
	{
		for(i = 0;i <lWidth-1; i++)
		{

			// 指向緩存圖像1倒數第j行,第i個象素的指針			
			lpDst1 = (char *)lpNewDIBBits1 + lWidth * j + i;

			// 指向緩存圖像2倒數第j行,第i個象素的指針			
			lpDst2 = (char *)lpNewDIBBits2 + lWidth * j + i;
			
			if(*lpDst2 > *lpDst1)
				*lpDst1 = *lpDst2;
		
		}
	}

	// 拷貝源圖像到緩存圖像中
	memcpy(lpNewDIBBits2, lpDIBBits, lWidth * lHeight);
	
	// 設置Kirsch模板5參數
	aTemplate[0] = -3.0;
	aTemplate[1] = -3.0;
	aTemplate[2] = -3.0;
	aTemplate[3] = -3.0;
	aTemplate[4] = 0.0;
	aTemplate[5] = -3.0;
	aTemplate[6] = 5.0;
	aTemplate[7] = 5.0;
	aTemplate[8] = 5.0;

	// 調用Template()函數
	if (!Template(lpNewDIBBits2, lWidth, lHeight, 
		iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
	{
		return FALSE;
	}

	// 拷貝源圖像到緩存圖像中
	memcpy(lpNewDIBBits2, lpDIBBits, lWidth * lHeight);
	//求兩幅緩存圖像的最大值
	for(j = 0; j <lHeight; j++)
	{
		for(i = 0;i <lWidth-1; i++)
		{

			// 指向緩存圖像1倒數第j行,第i個象素的指針			
			lpDst1 = (char *)lpNewDIBBits1 + lWidth * j + i;

			// 指向緩存圖像2倒數第j行,第i個象素的指針			
			lpDst2 = (char *)lpNewDIBBits2 + lWidth * j + i;
			
			if(*lpDst2 > *lpDst1)
				*lpDst1 = *lpDst2;
		
		}
	}

	// 拷貝源圖像到緩存圖像中
	memcpy(lpNewDIBBits2, lpDIBBits, lWidth * lHeight);
	
	// 設置Kirsch模板6參數
	aTemplate[0] = -3.0;
	aTemplate[1] = -3.0;
	aTemplate[2] = -3.0;
	aTemplate[3] = 5.0;
	aTemplate[4] = 0.0;
	aTemplate[5] = -3.0;
	aTemplate[6] = 5.0;
	aTemplate[7] = 5.0;
	aTemplate[8] = -3.0;

	// 調用Template()函數
	if (!Template(lpNewDIBBits2, lWidth, lHeight, 
		iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
	{
		return FALSE;
	}

	//求兩幅緩存圖像的最大值
	for(j = 0; j <lHeight; j++)
	{
		for(i = 0;i <lWidth-1; i++)
		{

			// 指向緩存圖像1倒數第j行,第i個象素的指針			
			lpDst1 = (char *)lpNewDIBBits1 + lWidth * j + i;

			// 指向緩存圖像2倒數第j行,第i個象素的指針			
			lpDst2 = (char *)lpNewDIBBits2 + lWidth * j + i;
			
			if(*lpDst2 > *lpDst1)
				*lpDst1 = *lpDst2;
		
		}
	}

	// 拷貝源圖像到緩存圖像中
	memcpy(lpNewDIBBits2, lpDIBBits, lWidth * lHeight);
	
	// 設置Kirsch模板7參數
	aTemplate[0] = 5.0;
	aTemplate[1] = -3.0;
	aTemplate[2] = -3.0;
	aTemplate[3] = 5.0;
	aTemplate[4] = 0.0;
	aTemplate[5] = -3.0;
	aTemplate[6] = 5.0;
	aTemplate[7] = -3.0;
	aTemplate[8] = -3.0;

	// 調用Template()函數
	if (!Template(lpNewDIBBits2, lWidth, lHeight, 
		iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
	{
		return FALSE;
	}

	//求兩幅緩存圖像的最大值
	for(j = 0; j <lHeight; j++)
	{
		for(i = 0;i <lWidth-1; i++)
		{

			// 指向緩存圖像1倒數第j行,第i個象素的指針			
			lpDst1 = (char *)lpNewDIBBits1 + lWidth * j + i;

			// 指向緩存圖像2倒數第j行,第i個象素的指針			
			lpDst2 = (char *)lpNewDIBBits2 + lWidth * j + i;
			
			if(*lpDst2 > *lpDst1)
				*lpDst1 = *lpDst2;
		
		}
	}

	// 拷貝源圖像到緩存圖像中
	memcpy(lpNewDIBBits2, lpDIBBits, lWidth * lHeight);
	
	// 設置Kirsch模板8參數
	aTemplate[0] = 5.0;
	aTemplate[1] = 5.0;
	aTemplate[2] = -3.0;
	aTemplate[3] = 5.0;
	aTemplate[4] = 0.0;
	aTemplate[5] = -3.0;
	aTemplate[6] = -3.0;
	aTemplate[7] = -3.0;
	aTemplate[8] = -3.0;

	// 調用Template()函數
	if (!Template(lpNewDIBBits2, lWidth, lHeight, 
		iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
	{
		return FALSE;
	}

	//求兩幅緩存圖像的最大值
	for(j = 0; j <lHeight; j++)
	{
		for(i = 0;i <lWidth-1; i++)
		{

			// 指向緩存圖像1倒數第j行,第i個象素的指針			
			lpDst1 = (char *)lpNewDIBBits1 + lWidth * j + i;

			// 指向緩存圖像2倒數第j行,第i個象素的指針			
			lpDst2 = (char *)lpNewDIBBits2 + lWidth * j + i;
			
			if(*lpDst2 > *lpDst1)
				*lpDst1 = *lpDst2;
		
		}
	}

	// 復制經過模板運算后的圖像到源圖像
	memcpy(lpDIBBits, lpNewDIBBits1, lWidth * lHeight);

	// 釋放內存
	LocalUnlock(hNewDIBBits1);
	LocalFree(hNewDIBBits1);

	LocalUnlock(hNewDIBBits2);
	LocalFree(hNewDIBBits2);
	// 返回
	return TRUE;
}

/*************************************************************************
 *
 * 函數名稱:
 *  GaussDIB()
 *
 * 參數:
 *   LPSTR lpDIBBits    - 指向源DIB圖像指針
 *   LONG  lWidth       - 源圖像寬度(象素數,必須是4的倍數)
 *   LONG  lHeight      - 源圖像高度(象素數)
 * 返回值:
 *   BOOL               - 邊緣檢測成功返回TRUE,否則返回FALSE。
 *
 * 說明:
 * 該函數用高斯拉普拉斯邊緣檢測算子對圖像進行邊緣檢測運算。
 * 
 * 要求目標圖像為灰度圖像。
 ************************************************************************/

BOOL WINAPI GaussDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight)
{
	
	// 指向緩存圖像的指針
	LPSTR	lpDst1;
	LPSTR	lpDst2;
	
	// 指向緩存DIB圖像的指針
	LPSTR	lpNewDIBBits1;
	HLOCAL	hNewDIBBits1;
	LPSTR	lpNewDIBBits2;
	HLOCAL	hNewDIBBits2;

	// 模板高度
	int		iTempH;
	
	// 模板寬度
	int		iTempW;
	
	// 模板系數
	FLOAT	fTempC;
	
	// 模板中心元素X坐標
	int		iTempMX;
	
	// 模板中心元素Y坐標
	int		iTempMY;
	
	//模板數組
	FLOAT aTemplate[25];

	// 暫時分配內存,以保存新圖像
	hNewDIBBits1 = LocalAlloc(LHND, lWidth * lHeight);

	if (hNewDIBBits1 == NULL)
	{
		// 分配內存失敗
		return FALSE;
	}
	
	// 鎖定內存
	lpNewDIBBits1 = (char * )LocalLock(hNewDIBBits1);

	// 暫時分配內存,以保存新圖像
	hNewDIBBits2 = LocalAlloc(LHND, lWidth * lHeight);

	if (hNewDIBBits2 == NULL)
	{
		// 分配內存失敗
		return FALSE;
	}
	
	// 鎖定內存
	lpNewDIBBits2 = (char * )LocalLock(hNewDIBBits2);

	// 拷貝源圖像到緩存圖像中
	lpDst1 = (char *)lpNewDIBBits1;
	memcpy(lpNewDIBBits1, lpDIBBits, lWidth * lHeight);
	lpDst2 = (char *)lpNewDIBBits2;
	memcpy(lpNewDIBBits2, lpDIBBits, lWidth * lHeight);


	// 設置Gauss模板參數
	iTempW = 5;
	iTempH = 5;
	fTempC = 1.0;
	iTempMX = 3;
	iTempMY = 3;
	aTemplate[0] = -2.0;
	aTemplate[1] = -4.0;
	aTemplate[2] = -4.0;
	aTemplate[3] = -4.0;
	aTemplate[4] = -2.0;
	aTemplate[5] = -4.0;
	aTemplate[6] = 0.0;
	aTemplate[7] = 8.0;
	aTemplate[8] = 0.0;
	aTemplate[9] = -4.0;
	aTemplate[10] = -4.0;
	aTemplate[11] = 8.0;
	aTemplate[12] = 24.0;
	aTemplate[13] = 8.0;
	aTemplate[14] = -4.0;
	aTemplate[15] = -4.0;
	aTemplate[16] = 0.0;
	aTemplate[17] = 8.0;
	aTemplate[18] = 0.0;
	aTemplate[19] = -4.0;
	aTemplate[20] = -2.0;
	aTemplate[21] = -4.0;
	aTemplate[22] = -4.0;
	aTemplate[23] = -4.0;
	aTemplate[24] = -2.0;

	// 調用Template()函數
	if (!Template(lpNewDIBBits1, lWidth, lHeight, 
		iTempH, iTempW, iTempMX, iTempMY, aTemplate, fTempC))
	{
		return FALSE;
	}

	// 復制經過模板運算后的圖像到源圖像
	memcpy(lpDIBBits, lpNewDIBBits1, lWidth * lHeight);

	// 釋放內存
	LocalUnlock(hNewDIBBits1);
	LocalFree(hNewDIBBits1);

	LocalUnlock(hNewDIBBits2);
	LocalFree(hNewDIBBits2);
	// 返回
	return TRUE;
}

/*************************************************************************
 *
 * 函數名稱:
 *   HoughDIB()
 *
 * 參數:
 *   LPSTR lpDIBBits    - 指向源DIB圖像指針
 *   LONG  lWidth       - 源圖像寬度(象素數,必須是4的倍數)
 *   LONG  lHeight      - 源圖像高度(象素數)
 * 返回值:
 *   BOOL               - 運算成功返回TRUE,否則返回FALSE。
 *
 * 說明:
 * 該函數用于對檢測圖像中的平行直線。如果圖像中有兩條平行的直線,則將這兩條平行直線
 * 提取出來。
 * 
 * 要求目標圖像為只有0和255兩個灰度值的灰度圖像。
 ************************************************************************/

BOOL WINAPI HoughDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight)
{
		
	// 指向源圖像的指針
	LPSTR	lpSrc;
	
	// 指向緩存圖像的指針
	LPSTR	lpDst;
	
	// 指向變換域的指針
	LPSTR   lpTrans;

	// 圖像每行的字節數
	LONG lLineBytes;
	
	// 指向緩存DIB圖像的指針
	LPSTR	lpNewDIBBits;
	HLOCAL	hNewDIBBits;

	//指向變換域的指針
	LPSTR	lpTransArea;
	HLOCAL	hTransArea;

	//變換域的尺寸
	int iMaxDist;
	int iMaxAngleNumber;

	//變換域的坐標
	int iDist;
	int iAngleNumber;

	//循環變量
	long i;
	long j;

	//像素值
	unsigned char pixel;

	//存儲變換域中的兩個最大值
	MaxValue MaxValue1;
	MaxValue MaxValue2;

	// 暫時分配內存,以保存新圖像
	hNewDIBBits = LocalAlloc(LHND, lWidth * lHeight);

	if (hNewDIBBits == NULL)
	{
		// 分配內存失敗
		return FALSE;
	}
	
	// 鎖定內存
	lpNewDIBBits = (char * )LocalLock(hNewDIBBits);

	// 初始化新分配的內存,設定初始值為255
	lpDst = (char *)lpNewDIBBits;
	memset(lpDst, (BYTE)255, lWidth * lHeight);

	//計算變換域的尺寸
	//最大距離
	iMaxDist = (int) sqrt(lWidth*lWidth + lHeight*lHeight);

	//角度從0-180,每格2度
	iMaxAngleNumber = 90;

	//為變換域分配內存
	hTransArea = LocalAlloc(LHND, lWidth * lHeight * sizeof(int));

	if (hNewDIBBits == NULL)
	{
		// 分配內存失敗
		return FALSE;
	}
	
	// 鎖定內存
	lpTransArea = (char * )LocalLock(hTransArea);
		
	// 初始化新分配的內存,設定初始值為0
	lpTrans = (char *)lpTransArea;
	memset(lpTrans, 0, lWidth * lHeight * sizeof(int));

	// 計算圖像每行的字節數
	lLineBytes = WIDTHBYTES(lWidth * 8);

	for(j = 0; j <lHeight; j++)
	{
		for(i = 0;i <lWidth; i++)
		{

			// 指向源圖像倒數第j行,第i個象素的指針			
			lpSrc = (char *)lpDIBBits + lLineBytes * j + i;

			//取得當前指針處的像素值,注意要轉換為unsigned char型
			pixel = (unsigned char)*lpSrc;

			//目標圖像中含有0和255外的其它灰度值
			if(pixel != 255 && *lpSrc != 0)
				return FALSE;

			//如果是黑點,則在變換域的對應各點上加1
			if(pixel == 0)
			{
				//注意步長是2度
				for(iAngleNumber=0; iAngleNumber<iMaxAngleNumber; iAngleNumber++)
				{
					iDist = (int) fabs(i*cos(iAngleNumber*2*pi/180.0) + \
						j*sin(iAngleNumber*2*pi/180.0));
				
					//變換域的對應點上加1
					*(lpTransArea+iDist*iMaxAngleNumber+iAngleNumber) = \
						*(lpTransArea+iDist*iMaxAngleNumber+iAngleNumber) +1;
				}
			}
		
		}
	}
				
	//找到變換域中的兩個最大值點
	MaxValue1.Value=0;
	MaxValue2.Value=0;
	
	//找到第一個最大值點
	for (iDist=0; iDist<iMaxDist;iDist++)
	{
		for(iAngleNumber=0; iAngleNumber<iMaxAngleNumber; iAngleNumber++)
		{
			if((int)*(lpTransArea+iDist*iMaxAngleNumber+iAngleNumber)>MaxValue1.Value)
			{
				MaxValue1.Value = (int)*(lpTransArea+iDist*iMaxAngleNumber+iAngleNumber);
				MaxValue1.Dist = iDist;
				MaxValue1.AngleNumber = iAngleNumber;
			}

		}
	}

	//將第一個最大值點附近清零
	for (iDist = -9;iDist < 10;iDist++)
	{
		for(iAngleNumber=-1; iAngleNumber<2; iAngleNumber++)
		{
			if(iDist+MaxValue1.Dist>=0 && iDist+MaxValue1.Dist<iMaxDist \
				&& iAngleNumber+MaxValue1.AngleNumber>=0 && iAngleNumber+MaxValue1.AngleNumber<=iMaxAngleNumber)
			{
				*(lpTransArea+(iDist+MaxValue1.Dist)*iMaxAngleNumber+\
					(iAngleNumber+MaxValue1.AngleNumber))=0;
			}
		}
	}

	//找到第二個最大值點
	for (iDist=0; iDist<iMaxDist;iDist++)
	{
		for(iAngleNumber=0; iAngleNumber<iMaxAngleNumber; iAngleNumber++)
		{
			if((int)*(lpTransArea+iDist*iMaxAngleNumber+iAngleNumber)>MaxValue2.Value)
			{
				MaxValue2.Value = (int)*(lpTransArea+iDist*iMaxAngleNumber+iAngleNumber);
				MaxValue2.Dist = iDist;
				MaxValue2.AngleNumber = iAngleNumber;
			}

		}
	}


	//判斷兩直線是否平行
	if(abs(MaxValue1.AngleNumber-MaxValue2.AngleNumber)<=2)
	{
		//兩直線平行,在緩存圖像中重繪這兩條直線
		for(j = 0; j <lHeight; j++)
		{
			for(i = 0;i <lWidth; i++)
			{	

				// 指向緩存圖像倒數第j行,第i個象素的指針			
				lpDst = (char *)lpNewDIBBits + lLineBytes * j + i;	

				//如果該點在某一條平行直線上,則在緩存圖像上將該點賦為黑

				//在第一條直線上
				iDist = (int) fabs(i*cos(MaxValue1.AngleNumber*2*pi/180.0) + \
							j*sin(MaxValue1.AngleNumber*2*pi/180.0));
				if (iDist == MaxValue1.Dist)
					*lpDst = (unsigned char)0;
			
				//在第二條直線上
				iDist = (int) fabs(i*cos(MaxValue2.AngleNumber*2*pi/180.0) + \
							j*sin(MaxValue2.AngleNumber*2*pi/180.0));
				if (iDist == MaxValue2.Dist)
					*lpDst = (unsigned char)0;
			}
		}
	}

	// 復制腐蝕后的圖像
	memcpy(lpDIBBits, lpNewDIBBits, lWidth * lHeight);

	// 釋放內存
	LocalUnlock(hNewDIBBits);
	LocalFree(hNewDIBBits);

	// 釋放內存
	LocalUnlock(hTransArea);
	LocalFree(hTransArea);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩一区二区三区在线观看| 欧美精品在欧美一区二区少妇| 国产宾馆实践打屁股91| 天堂成人国产精品一区| 国产精品私人自拍| 欧美日韩高清一区二区三区| 色婷婷综合五月| 在线观看av一区二区| 久久久天堂av| 高清在线观看日韩| 99v久久综合狠狠综合久久| av电影天堂一区二区在线| 欧美日韩精品免费| 中文一区二区在线观看| 日本韩国欧美一区| 精品国产一区二区三区四区四| 日韩一区在线免费观看| 麻豆精品国产91久久久久久| 91亚洲精品一区二区乱码| 色老综合老女人久久久| 欧美精品一区二区精品网| 国产嫩草影院久久久久| 日韩精品免费专区| 成人免费毛片a| 在线观看91av| 精品国产网站在线观看| 成人免费一区二区三区在线观看| 亚洲午夜精品网| 国产精品2024| 日韩一区二区三区电影| 亚洲美女免费在线| 99久久99久久综合| 精品日韩一区二区三区| 亚洲一区电影777| 97久久精品人人爽人人爽蜜臀| 日韩视频一区二区三区| 日韩毛片在线免费观看| 国产麻豆成人精品| 91精品国产高清一区二区三区| 成人欧美一区二区三区黑人麻豆| 国产福利一区二区| 精品国产不卡一区二区三区| 国产一区视频网站| 在线观看日韩一区| 国产日韩欧美精品综合| 日韩av一区二区三区四区| 国产精品一线二线三线| 粗大黑人巨茎大战欧美成人| 欧美一区二区三区四区高清| 亚洲国产婷婷综合在线精品| 久久影音资源网| 日韩欧美在线一区二区三区| 韩国中文字幕2020精品| 欧美日韩一区二区电影| 中文字幕一区二区三区在线观看| 精品一区二区在线观看| 6080yy午夜一二三区久久| 亚洲一区视频在线| 91久久精品一区二区三| 国产精品麻豆视频| 豆国产96在线|亚洲| 欧美精品一区二区三区一线天视频| 亚洲一区二区不卡免费| 日韩一区二区在线观看视频| 韩国毛片一区二区三区| 日本一区二区成人在线| 丁香五精品蜜臀久久久久99网站 | 国产色综合一区| 国产在线精品一区二区| 免费在线观看一区二区三区| 国产精品久久综合| 日韩精品一区国产麻豆| 色婷婷激情综合| 国产高清在线精品| 精品一区二区免费| 人人狠狠综合久久亚洲| 午夜影院在线观看欧美| 亚洲一级二级三级| 五月天网站亚洲| 麻豆精品一区二区三区| 麻豆一区二区三区| 国产做a爰片久久毛片| 国产一区二区三区免费在线观看| 亚洲人成影院在线观看| 9191精品国产综合久久久久久| 精品一区二区三区视频| 一区二区三区蜜桃网| 亚洲色欲色欲www| 国产午夜久久久久| 激情综合网激情| 精品国产青草久久久久福利| 蜜桃av一区二区三区| 精品久久一区二区三区| 国产精品亚洲午夜一区二区三区| 国产欧美一区二区精品婷婷| jiyouzz国产精品久久| 亚洲激情校园春色| 欧美美女喷水视频| 久久99精品国产麻豆婷婷洗澡| 国产日韩欧美综合在线| 色婷婷狠狠综合| 秋霞影院一区二区| 国产欧美精品在线观看| 一本色道久久综合亚洲精品按摩| 五月天激情小说综合| 久久人人爽爽爽人久久久| 成人激情免费视频| 亚洲大片在线观看| 久久久www免费人成精品| 92精品国产成人观看免费 | 成人在线视频一区| 亚洲国产aⅴ成人精品无吗| 欧美一区二区三级| 成人黄色在线视频| 午夜视频一区二区三区| 久久影院午夜论| 欧美午夜片在线看| 国产在线一区二区| 怡红院av一区二区三区| 欧美videossexotv100| 972aa.com艺术欧美| 日韩av二区在线播放| 国产精品美女久久久久高潮| 911国产精品| 不卡的av电影| 麻豆国产精品官网| 亚洲黄色尤物视频| 久久久久久电影| 欧美色老头old∨ideo| 国产又黄又大久久| 日韩影视精彩在线| **欧美大码日韩| 日韩精品一区在线观看| 欧洲亚洲国产日韩| 国产精品18久久久久久vr| 亚洲无线码一区二区三区| 欧美国产成人精品| 日韩一区二区三区电影| 日本精品一级二级| 成人av电影在线网| 狠狠色2019综合网| 日韩精品欧美精品| 樱花草国产18久久久久| 国产精品午夜免费| 精品乱码亚洲一区二区不卡| 欧美色欧美亚洲另类二区| av在线不卡网| 国产成人av影院| 久久99热狠狠色一区二区| 亚洲国产aⅴ天堂久久| 亚洲欧美日韩国产综合在线| 久久久久青草大香线综合精品| 在线电影国产精品| 色94色欧美sute亚洲13| 成人高清视频在线| 国产成人av一区二区三区在线| 美女任你摸久久| 亚洲成人av免费| 一区二区三区精品视频在线| 中文av一区二区| 久久久久久久性| 久久综合色婷婷| 日韩欧美国产综合一区 | 麻豆精品视频在线| 亚洲国产精品人人做人人爽| 亚洲人成7777| 国产精品国模大尺度视频| 久久精品欧美日韩| 精品国产髙清在线看国产毛片| 欧美日韩国产在线观看| 欧美中文字幕一区| 欧美在线|欧美| 在线观看中文字幕不卡| 91麻豆国产福利在线观看| 99精品欧美一区| 99久久99久久久精品齐齐| yourporn久久国产精品| 成人午夜免费视频| 成人黄页毛片网站| 99re66热这里只有精品3直播 | 亚洲欧洲日产国产综合网| 欧美国产日产图区| 中文字幕一区av| 亚洲欧洲三级电影| 一区二区日韩电影| 亚洲中国最大av网站| 午夜视频一区在线观看| 秋霞电影网一区二区| 免费成人小视频| 精品在线一区二区| 国产成人亚洲综合a∨婷婷| 丁香桃色午夜亚洲一区二区三区| 成人亚洲一区二区一| 91首页免费视频| 欧美天堂亚洲电影院在线播放| 欧美日韩一区二区三区四区 | 日精品一区二区| 老司机午夜精品99久久| 激情欧美一区二区| 国产91在线观看丝袜|