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

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

?? thinner.cpp

?? 使用OpenCV和C++實現(xiàn)的車牌識別系統(tǒng)
?? CPP
字號:
//**************************************************************************
//Thinner.cpp
//細化算法實現(xiàn)文件
//**************************************************************************
#include "StdAfx.h"
#include <stdlib.h>
#include <malloc.h>
#include "Thinner.h"

void beforethin(unsigned char *ip, unsigned char *jp, 
				unsigned long lx, unsigned long ly)
{
	unsigned long i,j;
	for(i=0; i<ly; i++)
	{
		for(j=0; j<lx; j++)
		{
			//這里要視前景是白點還是黑點而定,可以改動
			//如果前景是白點,就是這樣;反之反過來
			if(ip[i*lx+j]>0)
				jp[i*lx+j]=1;
			else
				jp[i*lx+j]=0;
		}
	}
}

/////////////////////////////////////////////////////////////////////////
//Hilditch細化算法
//功能:對圖象進行細化
//參數(shù):image:代表圖象的一維數(shù)組
//      lx:圖象寬度
//      ly:圖象高度
//      無返回值
void ThinnerHilditch(void *image, unsigned long lx, unsigned long ly)
{
	char *f, *g;
	char n[10];
	unsigned int counter;
	short k, shori, xx, nrn;
	unsigned long i, j;
	long kk, kk11, kk12, kk13, kk21, kk22, kk23, kk31, kk32, kk33, size;
	size = (long)lx * (long)ly;
	g = (char *)malloc(size);

	if(g == NULL)
	{
		printf("error in allocating memory!\n");
		return;
	}

	f = (char *)image;
	for(i=0; i<lx; i++)//二值化為0,1 。g保存有1的;
	{
		for(j=0; j<ly; j++)
		{
			kk=i*ly+j;
			if(f[kk]!=0)
			{
				f[kk]=1;
				g[kk]=f[kk];
			}
		}
	}

	counter = 1;//記數(shù)器

	do
	{
		printf("%4d*",counter);
		counter++;//計數(shù)器+1
		shori = 0;//?

		for(i=0; i<lx; i++)  //若f中的值小于0,則=0同時復制f->g
		{
			for(j=0; j<ly; j++)
			{
				kk = i*ly+j;
				if(f[kk]<0)   //?????????f為負則減薄
					f[kk] = 0;
				g[kk]= f[kk];
			}
		}

		for(i=1; i<lx-1; i++)
		{
			for(j=1; j<ly-1; j++)
			{
				kk=i*ly+j;

				if(f[kk]!=1)         //條件(1)
					continue;

				kk11 = (i-1)*ly+j-1; //9個方向
				kk12 = kk11 + 1;
				kk13 = kk12 + 1;
				kk21 = i*ly+j-1;
				kk22 = kk21 + 1;
				kk23 = kk22 + 1;
				kk31 = (i+1)*ly+j-1;
				kk32 = kk31 + 1;
				kk33 = kk32 + 1;

				if((g[kk12]&&g[kk21]&&g[kk23]&&g[kk32])!=0) //判斷條件(2)
					continue;

				nrn = g[kk11] + g[kk12] + g[kk13] + g[kk21] + g[kk23] + 
					g[kk31] + g[kk32] + g[kk33];

				if(nrn <= 1)  //判斷條件(4)
				{
					f[kk22] = 2;//不合則2->f[kk22]
					continue;
				}

				n[4] = f[kk11]; //對應圖6-15
				n[3] = f[kk12];
				n[2] = f[kk13];
				n[5] = f[kk21];
				n[1] = f[kk23];
				n[6] = f[kk31];
				n[7] = f[kk32];
				n[8] = f[kk33];
				n[9] = n[1];    //9為0
				xx = 0;

				for(k=1; k<8; k=k+2) //為條件5判斷作統(tǒng)計
				{
					if((!n[k])&&(n[k+1]||n[k+2]))
						xx++;
				}

				if(xx!=1)//判斷條件(5)
				{
					f[kk22] = 2;
					continue;
				}

				if(f[kk12] == -1)//?判斷f(n3)是否∈R
				{
					f[kk12] = 0; //f[kk12]已經被刪,故為0
					n[3] = 0;    //n[3]=f[kk12]已經被刪,故為0
					xx = 0;

					for(k=1; k<8; k=k+2)
					{
						if((!n[k])&&(n[k+1]||n[k+2]))
							xx++;
					}

					if(xx != 1)  //判斷條件(6)
					{
						f[kk12] = -1;//恢復f[kk12]為被刪
						continue;
					}

					f[kk12] = -1;//恢復f[kk12]為被刪
					n[3] = -1;//恢復f[kk12]為被刪
				}

				if(f[kk21]!=-1)//判斷條件(6)
				{
					f[kk22] = -1;//全部條件滿足,減薄
					shori = 1;//最后將-1---》0的條件
					continue;
				}

				f[kk21] = 0; //f(n5)∈R,f[kk21]已經被刪,故為0
				n[5] = 0; //f(n5)∈R,f[kk21]已經被刪,故為0
				xx = 0;

				for(k=1; k<8; k=k+2) //判斷條件(6)
				{
					if((!n[k])&&(n[k+1]||n[k+2]))
					{
						xx++;
					}
				}

				if(xx == 1)//全部條件滿足,減薄
				{
					f[kk21] = -1;//恢復f[kk21]為被刪
					f[kk22] = -1;//減薄
					shori =1;//最后將-1---》0的條件
				}
				else
					f[kk21] = -1;//恢復f[kk21]為被刪
			}
		}
	}while(shori);

	free(g);
}

/////////////////////////////////////////////////////////////////////////
//Pavlidis細化算法
//功能:對圖象進行細化
//參數(shù):image:代表圖象的一維數(shù)組
//      lx:圖象寬度
//      ly:圖象高度
//      無返回值
void ThinnerPavlidis(void *image, unsigned long lx, unsigned long ly)
{
	char erase, n[8];
	char *f;
	unsigned char bdr1,bdr2,bdr4,bdr5;
	short c,k,b;
	unsigned long i,j;
	long kk,kk1,kk2,kk3;
	f = (char*)image;

	for(i=1; i<lx-1; i++)
	{
		for(j=1; j<ly-1; j++)
		{
			kk = i*ly + j;
			if(f[kk])
				f[kk] = 1;
		}
	}

	for(i=0, kk1=0, kk2=ly-1; i<lx; i++, kk1+=ly, kk2+=ly)
	{
		f[kk1]=0;
		f[kk2]=0;
	}

	for(j=0, kk=(lx-1)*ly; j<ly; j++,kk++)
	{
		f[j]=0;
		f[kk]=0;
	}

	c=5;
	erase =1;
	while(erase)
	{
		c++;
		for(i=1; i<lx-1; i++)
		{
			for(j=1; j<ly-1; j++)
			{
				kk=i*ly+j;
				if(f[kk]!=1)
					continue;

				kk1 = kk-ly -1;
				kk2 = kk1 + 1;
				kk3 = kk2 + 1;
				n[3] = f[kk1];
				n[2] = f[kk2];
				n[1] = f[kk3];
				kk1 = kk - 1;
				kk3 = kk + 1;
				n[4] = f[kk1];
				n[0] = f[kk3];
				kk1 = kk + ly -1;
				kk2 = kk1 + 1;
				kk3 = kk2 + 1;
				n[5] = f[kk1];
				n[6] = f[kk2];
				n[7] = f[kk3];

				bdr1 =0;
				for(k=0; k<8; k++)
				{
					if(n[k]>=1)
						bdr1|=0x80>>k;
				}

				if((bdr1&0252)== 0252)
					continue;
				f[kk] = 2;
				b=0;

				for(k=0; k<=7; k++)
				{
					b+=bdr1&(0x80>>k);
				}

				if(b<=1)
					f[kk]=3;

				if((bdr1&0160)!=0&&(bdr1&07)!=0&&(bdr1&0210)==0)
					f[kk]=3;
				else if((bdr1&&0301)!=0&&(bdr1&034)!=0&&(bdr1&042)==0)
					f[kk]=3;
				else if((bdr1&0202)==0 && (bdr1&01)!=0)
					f[kk]=3;
				else if((bdr1&0240)==0 && (bdr1&0100)!=0)
					f[kk]=3;
				else if((bdr1&050)==0 && (bdr1&020)!=0)
					f[kk]=3;
				else if((bdr1&012)==0 && (bdr1&04)!=0)
					f[kk]=3;
			}
		}

		for(i=1; i<lx-1; i++)
		{
			for(j=1; j<ly-1; j++)
			{
				kk = i*ly + j;
				if(!f[kk])
					continue;

				kk1 = kk - ly -1;
				kk2 = kk1 + 1;
				kk3 = kk2 + 1;
				n[3] = f[kk1];
				n[2] = f[kk2];
				n[1] = f[kk3];
				kk1 = kk - 1;
				kk2 = kk + 1;
				n[4] = f[kk1];
				n[0] = f[kk3];
				kk1 = kk + ly -1;
				kk2 = kk1 + 1;
				kk3 = kk2 + 1;
				n[5] = f[kk1];
				n[6] = f[kk2];
				n[7] = f[kk3];
				bdr1 = bdr2 =0;

				for(k=0; k<=7; k++)
				{
					if(n[k]>=1)
						bdr1|=0x80>>k;
					if(n[k]>=2)
						bdr2|=0x80>>k;
				}

				if(bdr1==bdr2)
				{
					f[kk] = 4;
					continue;
				}

				if(f[kk]!=2)
					continue;

				if((bdr2&0200)!=0 && (bdr1&010)==0 &&
					((bdr1&0100)!=0 &&(bdr1&001)!=0 ||
					((bdr1&0100)!=0 ||(bdr1 & 001)!=0) &&
					(bdr1&060)!=0 &&(bdr1&06)!=0))
				{
					f[kk] = 4;
				}

				else if((bdr2&040)!=0 && (bdr1&02)==0 &&
					((bdr1&020)!=0 && (bdr1&0100)!=0 ||
					((bdr1&020)!=0 || (bdr1&0100)!=0) &&
					(bdr1&014)!=0 && (bdr1&0201)!=0))
				{
					f[kk] = 4;
				}

				else if((bdr2&010)!=0 && (bdr1&0200)==0 &&
					((bdr1&04)!=0 && (bdr1&020)!=0 ||
					((bdr1&04)!=0 || (bdr1&020)!=0) &&
					(bdr1&03)!=0 && (bdr1&0140)!=0))
				{
					f[kk] = 4;
				}

				else if((bdr2&02)!=0 && (bdr1&040)==0 &&
					((bdr1&01)!=0 && (bdr1&04)!=0 ||
					((bdr1&01)!=0 || (bdr1&04)!=0) &&
					(bdr1&0300)!=0 && (bdr1&030)!=0))
				{
					f[kk] = 4;
				}
			}
		}

		for(i=1; i<lx-1; i++)
		{
			for(j=1; j<ly-1; j++)
			{
				kk = i*ly + j;
				if(f[kk]!=2)
					continue;
				kk1 = kk - ly -1;
				kk2 = kk1 + 1;
				kk3 = kk2 + 1;
				n[3] = f[kk1];
				n[2] = f[kk2];
				n[1] = f[kk3];
				kk1 = kk - 1;
				kk2 = kk + 1;
				n[4] = f[kk1];
				n[0] = f[kk3];
				kk1 = kk + ly -1;
				kk2 = kk1 + 1;
				kk3 = kk2 + 1;
				n[5] = f[kk1];
				n[6] = f[kk2];
				n[7] = f[kk3];
				bdr4 = bdr5 =0;
				for(k=0; k<=7; k++)
				{
					if(n[k]>=4)
						bdr4|=0x80>>k;
					if(n[k]>=5)
						bdr5|=0x80>>k;
				}
				if((bdr4&010) == 0)
				{
					f[kk] = 5;
					continue;
				}
				if((bdr4&040) == 0 && bdr5 ==0)
				{
					f[kk] = 5;
					continue;
				}
				if(f[kk]==3||f[kk]==4)
					f[kk] = c;
			}
		}

		erase = 0;
		for(i=1; i<lx-1; i++)
		{
			for(j=1; j<ly-1; j++)
			{
				kk = i*ly +j;
				if(f[kk]==2||f[kk] == 5)
				{
					erase = 1;
					f[kk] = 0;
				}
			}
		}
	}
}

/////////////////////////////////////////////////////////////////////////
//Rosenfeld細化算法
//功能:對圖象進行細化
//參數(shù):image:代表圖象的一維數(shù)組
//      lx:圖象寬度
//      ly:圖象高度
//      無返回值
void ThinnerRosenfeld(void *image, unsigned long lx, unsigned long ly)
{
	char *f, *g;
	char n[10];
	char a[5] = {0, -1, 1, 0, 0};
	char b[5] = {0, 0, 0, 1, -1};
	char nrnd, cond, n48, n26, n24, n46, n68, n82, n123, n345, n567, n781;
	short k, shori;
	unsigned long i, j;
	long ii, jj, kk, kk1, kk2, kk3, size;
	size = (long)lx * (long)ly;

	g = (char *)malloc(size);
	if(g==NULL)
	{
		printf("error in alocating mmeory!\n");
		return;
	}

	f = (char *)image;
	for(kk=0l; kk<size; kk++)
	{
		g[kk] = f[kk];
	}

	do
	{
		shori = 0;
		for(k=1; k<=4; k++)
		{
			for(i=1; i<lx-1; i++)
			{
				ii = i + a[k];

				for(j=1; j<ly-1; j++)
				{
					kk = i*ly + j;

					if(!f[kk])
						continue;

					jj = j + b[k];
					kk1 = ii*ly + jj;

					if(f[kk1])
						continue;

					kk1 = kk - ly -1;
					kk2 = kk1 + 1;
					kk3 = kk2 + 1;
					n[3] = f[kk1];
					n[2] = f[kk2];
					n[1] = f[kk3];
					kk1 = kk - 1;
					kk3 = kk + 1;
					n[4] = f[kk1];
					n[8] = f[kk3];
					kk1 = kk + ly - 1;
					kk2 = kk1 + 1;
					kk3 = kk2 + 1;
					n[5] = f[kk1];
					n[6] = f[kk2];
					n[7] = f[kk3];

					nrnd = n[1] + n[2] + n[3] + n[4]
						+n[5] + n[6] + n[7] + n[8];
					if(nrnd<=1)
						continue;

					cond = 0;
					n48 = n[4] + n[8];
					n26 = n[2] + n[6];
					n24 = n[2] + n[4];
					n46 = n[4] + n[6];
					n68 = n[6] + n[8];
					n82 = n[8] + n[2];
					n123 = n[1] + n[2] + n[3];
					n345 = n[3] + n[4] + n[5];
					n567 = n[5] + n[6] + n[7];
					n781 = n[7] + n[8] + n[1];

					if(n[2]==1 && n48==0 && n567>0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					if(n[6]==1 && n48==0 && n123>0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					if(n[8]==1 && n26==0 && n345>0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					if(n[4]==1 && n26==0 && n781>0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					if(n[5]==1 && n46==0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					if(n[7]==1 && n68==0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					if(n[1]==1 && n82==0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					if(n[3]==1 && n24==0)
					{
						if(!cond)
							continue;
						g[kk] = 0;
						shori = 1;
						continue;
					}

					cond = 1;
					if(!cond)
						continue;
					g[kk] = 0;
					shori = 1;
				}
			}

			for(i=0; i<lx; i++)
			{
				for(j=0; j<ly; j++)
				{
					kk = i*ly + j;
					f[kk] = g[kk];
				}
			}
		}
	}while(shori);

	free(g);
}					

/////////////////////////////////////////////////////////////////////////
//基于索引表的細化細化算法
//功能:對圖象進行細化
//參數(shù):lpDIBBits:代表圖象的一維數(shù)組
//      lWidth:圖象高度
//      lHeight:圖象寬度
//      無返回值
BOOL WINAPI ThiningDIBSkeleton (LPSTR lpDIBBits, LONG lWidth, LONG lHeight)
{	
	//循環(huán)變量
	long i;
	long j;
	long lLength;
	
	unsigned char deletemark[256] = {
		0,0,0,0,0,0,0,1,	0,0,1,1,0,0,1,1,
		0,0,0,0,0,0,0,0,	0,0,1,1,1,0,1,1,
		0,0,0,0,0,0,0,0,	1,0,0,0,1,0,1,1,
		0,0,0,0,0,0,0,0,	1,0,1,1,1,0,1,1,
		0,0,0,0,0,0,0,0,	0,0,0,0,0,0,0,0,
		0,0,0,0,0,0,0,0,	0,0,0,0,0,0,0,0,
		0,0,0,0,0,0,0,0,	1,0,0,0,1,0,1,1,
		1,0,0,0,0,0,0,0,	1,0,1,1,1,0,1,1,
		0,0,1,1,0,0,1,1,	0,0,0,1,0,0,1,1,
		0,0,0,0,0,0,0,0,	0,0,0,1,0,0,1,1,
		1,1,0,1,0,0,0,1,	0,0,0,0,0,0,0,0,
		1,1,0,1,0,0,0,1,	1,1,0,0,1,0,0,0,
		0,1,1,1,0,0,1,1,	0,0,0,1,0,0,1,1,
		0,0,0,0,0,0,0,0,	0,0,0,0,0,1,1,1,
		1,1,1,1,0,0,1,1,	1,1,0,0,1,1,0,0,
		1,1,1,1,0,0,1,1,	1,1,0,0,1,1,0,0
	};//索引表

	unsigned char p0, p1, p2, p3, p4, p5, p6, p7;
	unsigned char *pmid, *pmidtemp;
	unsigned char sum;
	int changed;
	bool bStart = true;
	lLength = lWidth * lHeight;
	unsigned char *pTemp = (unsigned char *)malloc(sizeof(unsigned char) * lWidth * lHeight);
	
	//    P0 P1 P2
	//    P7    P3
	//    P6 P5 P4

	while(bStart)
	{
		bStart = false;
		changed = 0;

		//首先求邊緣點(并行)
		pmid = (unsigned char *)lpDIBBits + lWidth + 1;
		memset(pTemp, (BYTE) 0, lLength);
		pmidtemp = (unsigned char *)pTemp + lWidth + 1;
		for(i = 1; i < lHeight -1; i++)
		{
			for(j = 1; j < lWidth - 1; j++)
			{
				if( *pmid == 0)
				{
					pmid++;
					pmidtemp++;
					continue;
				}

				p3 = *(pmid + 1);
				p2 = *(pmid + 1 - lWidth);
				p1 = *(pmid - lWidth);
				p0 = *(pmid - lWidth -1);
				p7 = *(pmid - 1);
				p6 = *(pmid + lWidth - 1);
				p5 = *(pmid + lWidth);
				p4 = *(pmid + lWidth + 1);
				
				sum = p0 & p1 & p2 & p3 & p4 & p5 & p6 & p7;
				if(sum == 0)
				{
					*pmidtemp = 1;
				}

				pmid++;
				pmidtemp++;
			}
			pmid++;
			pmid++;
			pmidtemp++;
			pmidtemp++;
		}
		
		//現(xiàn)在開始串行刪除
		pmid = (unsigned char *)lpDIBBits + lWidth + 1;
		pmidtemp = (unsigned char *)pTemp + lWidth + 1;

		for(i = 1; i < lHeight -1; i++)
		{
			for(j = 1; j < lWidth - 1; j++)
			{
				if( *pmidtemp == 0)
				{
					pmid++;
					pmidtemp++;
					continue;
				}

				p3 = *(pmid + 1);
				p2 = *(pmid + 1 - lWidth);
				p1 = *(pmid - lWidth);
				p0 = *(pmid - lWidth -1);
				p7 = *(pmid - 1);
				p6 = *(pmid + lWidth - 1);
				p5 = *(pmid + lWidth);
				p4 = *(pmid + lWidth + 1);
				
				p1 *= 2;
				p2 *= 4;
				p3 *= 8;
				p4 *= 16;
				p5 *= 32;
				p6 *= 64;
				p7 *= 128;

				sum = p0 | p1 | p2 | p3 | p4 | p5 | p6 | p7;
				if(deletemark[sum] == 1)
				{
					*pmid = 0;
					bStart = true;
				}

				pmid++;
				pmidtemp++;
			}

			pmid++;
			pmid++;
			pmidtemp++;
			pmidtemp++;
		}
	}

	return true;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女视频一区| 国产大陆a不卡| 精品午夜久久福利影院| 国产成人综合网| 欧美日韩在线综合| 综合在线观看色| 国产精品系列在线观看| 制服丝袜中文字幕一区| 亚洲精品伦理在线| 成人黄页毛片网站| 久久青草欧美一区二区三区| 偷窥国产亚洲免费视频| 色婷婷精品大在线视频| 国产精品拍天天在线| 蜜臂av日日欢夜夜爽一区| 欧美在线观看一二区| 亚洲欧洲精品一区二区三区| 国产高清久久久| 久久奇米777| 精品一区二区三区欧美| 777亚洲妇女| 日韩国产欧美三级| 欧美日韩日日摸| 亚洲一区在线视频观看| 色国产精品一区在线观看| 国产视频不卡一区| 国产成人免费视频一区| 国产网红主播福利一区二区| 激情五月激情综合网| 欧美变态tickling挠脚心| 热久久久久久久| 日韩欧美不卡在线观看视频| 日韩高清不卡在线| 91.com在线观看| 日韩av一级电影| 欧美一级欧美一级在线播放| 日日夜夜一区二区| 欧美美女bb生活片| 日本女人一区二区三区| 欧美成人福利视频| 国产馆精品极品| 亚洲欧洲精品一区二区三区| 91福利精品第一导航| 亚洲第一成人在线| 欧美一区二区三区的| 经典三级一区二区| 国产女人水真多18毛片18精品视频| 国产老肥熟一区二区三区| 精品成人佐山爱一区二区| 福利视频网站一区二区三区| 中文字幕欧美三区| 色噜噜久久综合| 玖玖九九国产精品| 国产精品色婷婷久久58| 欧洲生活片亚洲生活在线观看| 亚洲影视资源网| 日韩欧美久久久| 不卡一区在线观看| 丝袜亚洲另类丝袜在线| 久久精品夜色噜噜亚洲aⅴ| 99综合电影在线视频| 亚洲一区二区三区四区中文字幕| 欧美一区二区精品| av一区二区久久| 日本不卡视频在线| 国产精品久久毛片a| 欧美日韩国产美| 粉嫩嫩av羞羞动漫久久久| 亚洲另类色综合网站| 欧美成人艳星乳罩| 色香蕉成人二区免费| 麻豆一区二区在线| 亚洲欧美日韩国产手机在线| 日韩欧美在线影院| 91日韩精品一区| 国产精品中文有码| 偷拍亚洲欧洲综合| 日韩美女视频一区| 国产午夜久久久久| 欧美一区二区在线免费播放| 99久久精品国产毛片| 麻豆精品一二三| 亚洲一级二级三级在线免费观看| 久久久午夜精品理论片中文字幕| 欧美日韩国产不卡| 91亚洲精华国产精华精华液| 毛片一区二区三区| 五月综合激情日本mⅴ| 中文字幕一区二区三区不卡在线| 精品国一区二区三区| 欧美男人的天堂一二区| av欧美精品.com| 国产在线观看免费一区| 日韩国产在线一| 一区二区三国产精华液| 亚洲欧洲日产国产综合网| 欧美激情艳妇裸体舞| 久久久久久久久岛国免费| 538在线一区二区精品国产| 91久久精品一区二区三| 成人aaaa免费全部观看| 高潮精品一区videoshd| 国产激情91久久精品导航| 久久国产乱子精品免费女| 偷拍亚洲欧洲综合| 偷窥国产亚洲免费视频| 日韩精品三区四区| 一级特黄大欧美久久久| 亚洲激情欧美激情| 亚洲女人****多毛耸耸8| 亚洲三级在线看| 亚洲人成影院在线观看| 亚洲乱码国产乱码精品精的特点 | 69久久99精品久久久久婷婷| 一本色道久久综合亚洲91| 成人精品免费网站| 成人黄色在线视频| 色综合一区二区| 日本高清不卡视频| 欧美日韩国产首页在线观看| 欧美日韩精品一区二区| 91精品国产福利在线观看| 91麻豆精品91久久久久久清纯| 91精品国产综合久久久蜜臀粉嫩 | 91原创在线视频| 色88888久久久久久影院按摩 | 成人国产精品免费网站| caoporen国产精品视频| 色综合亚洲欧洲| 欧美三级三级三级爽爽爽| 欧美一区二区三区免费视频 | 一区二区三区中文字幕| 五月天亚洲婷婷| 男男gaygay亚洲| 岛国精品在线观看| 色婷婷激情综合| 欧美一区国产二区| 国产片一区二区| 亚洲一区二区三区四区不卡| 天堂一区二区在线| 国产精品69久久久久水密桃 | 国产一区二区在线电影| 国产69精品久久久久毛片| 一本色道久久综合精品竹菊| 欧美日韩一区不卡| 久久久久久久综合狠狠综合| 亚洲日本丝袜连裤袜办公室| 亚洲成av人片一区二区| 国产麻豆精品95视频| 在线看不卡av| xnxx国产精品| 亚洲一线二线三线视频| 国产精品一区在线| 欧美日韩视频在线第一区| 国产日韩精品视频一区| 亚洲一区在线免费观看| 国产成人综合在线| 欧美系列日韩一区| 中文字幕精品一区二区精品绿巨人 | 久久亚洲精华国产精华液 | 日韩影院精彩在线| 国产成人无遮挡在线视频| 欧美在线观看视频一区二区三区| 精品美女一区二区| 污片在线观看一区二区| 成+人+亚洲+综合天堂| 欧美r级电影在线观看| 亚洲r级在线视频| 成人福利视频网站| 久久青草欧美一区二区三区| 亚洲va欧美va人人爽午夜| jlzzjlzz欧美大全| 久久久久久久久97黄色工厂| 日本在线不卡视频| 欧美性感一区二区三区| 欧美极品美女视频| 国产在线一区二区综合免费视频| 欧美日韩一区二区三区在线| 亚洲欧美日韩成人高清在线一区| 国产高清成人在线| 精品国产乱码久久久久久图片| 香蕉乱码成人久久天堂爱免费| 91免费小视频| 国产精品妹子av| 国产一区欧美日韩| 欧美xxxx老人做受| 热久久免费视频| 3d动漫精品啪啪一区二区竹菊| 亚洲一区二区五区| 欧美在线色视频| 亚洲成av人片在线观看| 激情偷乱视频一区二区三区| 欧美一区2区视频在线观看| 日韩激情一二三区| 91精品国产美女浴室洗澡无遮挡| 亚洲一区在线视频观看| 欧美性做爰猛烈叫床潮| 亚洲成人免费电影| 7777精品伊人久久久大香线蕉完整版 | 国产成人免费在线观看不卡|