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

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

?? thinner.cpp

?? 車牌識別系統
?? CPP
字號:
//**************************************************************************
//Thinner.cpp
//細化算法實現文件
//**************************************************************************
#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細化算法
//功能:對圖象進行細化
//參數:image:代表圖象的一維數組
//      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;//記數器

	do
	{
		printf("%4d*",counter);
		counter++;//計數器+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判斷作統計
				{
					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細化算法
//功能:對圖象進行細化
//參數:image:代表圖象的一維數組
//      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細化算法
//功能:對圖象進行細化
//參數:image:代表圖象的一維數組
//      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);
}					

/////////////////////////////////////////////////////////////////////////
//基于索引表的細化細化算法
//功能:對圖象進行細化
//參數:lpDIBBits:代表圖象的一維數組
//      lWidth:圖象高度
//      lHeight:圖象寬度
//      無返回值
BOOL WINAPI ThiningDIBSkeleton (LPSTR lpDIBBits, LONG lWidth, LONG lHeight)
{	
	//循環變量
	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++;
		}
		
		//現在開始串行刪除
		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一区二区三区免费野_久草精品视频
国产综合色精品一区二区三区| 国产精品久久毛片av大全日韩| 欧美在线啊v一区| 欧美一级高清片在线观看| 中文字幕一区二区三区视频| 亚洲第一久久影院| 成人动漫在线一区| 精品成人在线观看| 亚洲一区二区三区四区中文字幕 | 免费成人美女在线观看| 蜜桃久久av一区| 欧美系列日韩一区| 奇米四色…亚洲| 国产欧美日韩在线| 91精品中文字幕一区二区三区| 国产精品久久久久一区二区三区| 99vv1com这只有精品| 亚洲成人av中文| 久久综合九色综合欧美98| 97久久精品人人澡人人爽| 日韩精品一级二级| 亚洲国产精品国自产拍av| 欧美日韩国产一级片| 极品少妇xxxx精品少妇| 亚洲精品高清在线| 日韩美女在线视频| 91麻豆产精品久久久久久| 免费视频一区二区| 欧美激情自拍偷拍| 欧美精品aⅴ在线视频| 国产精品91xxx| 亚洲九九爱视频| 日韩视频免费观看高清在线视频| 成人av午夜影院| 麻豆精品新av中文字幕| 亚洲天天做日日做天天谢日日欢| 欧美电影免费观看高清完整版在| 色综合久久天天| 国产麻豆视频一区二区| 亚洲国产视频一区二区| 国产精品视频一二| 7777精品伊人久久久大香线蕉超级流畅| 国产一区二区不卡在线| 日韩1区2区日韩1区2区| 中文字幕中文字幕一区| 久久亚洲一区二区三区明星换脸| 成人精品鲁一区一区二区| 26uuu精品一区二区三区四区在线| 日韩天堂在线观看| 91久久免费观看| 国产伦精品一区二区三区视频青涩| 欧美日韩日本视频| 91成人免费网站| 色综合久久久久久久久久久| 韩国午夜理伦三级不卡影院| 婷婷中文字幕一区三区| 国产精品久久久久久久久果冻传媒 | 另类综合日韩欧美亚洲| 一区二区三区欧美日| 国产精品欧美久久久久一区二区| 欧美va亚洲va| 日韩欧美成人午夜| 国产精品亚洲а∨天堂免在线| 久久久国产精品午夜一区ai换脸| 亚洲资源在线观看| 欧美日韩一区精品| 欧洲一区二区av| 97国产一区二区| 97精品国产露脸对白| 成人短视频下载 | 免费观看久久久4p| 天天综合色天天综合| 亚洲综合999| 亚洲精品美国一| 亚洲自拍偷拍综合| 亚洲va欧美va人人爽午夜| 亚洲综合区在线| 亚洲国产毛片aaaaa无费看| 一区二区在线观看不卡| 一区二区三区精品在线观看| 亚洲一区二区av在线| 亚洲国产成人va在线观看天堂| 亚洲国产精品影院| 婷婷丁香激情综合| 日本成人在线电影网| 蜜臂av日日欢夜夜爽一区| 日本精品裸体写真集在线观看| 亚洲第一福利一区| 亚洲国产日产av| 亚洲超碰精品一区二区| 日韩中文字幕91| 蜜臀av性久久久久蜜臀av麻豆| 免费在线观看一区| 国产激情一区二区三区四区| 播五月开心婷婷综合| 欧美在线免费观看视频| 日韩欧美成人一区| 欧美激情综合网| 伊人开心综合网| 久久精品国产成人一区二区三区| 国产精品18久久久久久久久久久久| 粉嫩欧美一区二区三区高清影视| 99这里只有精品| 欧美精品三级日韩久久| 欧美成人a在线| 亚洲三级在线播放| 日本欧美一区二区在线观看| 国产成人免费网站| 欧美三级午夜理伦三级中视频| 日韩欧美中文字幕公布| 国产精品毛片久久久久久久| 亚洲成人综合视频| 国产.精品.日韩.另类.中文.在线.播放| 99久久婷婷国产综合精品电影 | 8v天堂国产在线一区二区| 欧美mv和日韩mv的网站| 国产精品久久国产精麻豆99网站| 亚洲国产精品一区二区尤物区| 国产综合久久久久久鬼色| 91丨九色丨蝌蚪富婆spa| 日韩欧美你懂的| 亚洲精品免费视频| 国产一区免费电影| 欧美人狂配大交3d怪物一区| 欧美国产精品v| 全国精品久久少妇| 97成人超碰视| 久久精品一区二区三区不卡| 午夜精品一区二区三区三上悠亚| 国产不卡免费视频| 4438x亚洲最大成人网| 最新国产精品久久精品| 韩国欧美国产1区| 欧美日韩电影一区| 尤物在线观看一区| 成人国产精品免费观看动漫| 欧美成人性福生活免费看| 一区二区三区精品在线观看| 成人午夜短视频| 欧美大片在线观看一区二区| 亚洲自拍都市欧美小说| 91视频免费播放| 久久综合一区二区| 免费观看30秒视频久久| 欧美日本韩国一区| 一区二区三区不卡视频在线观看 | 亚洲品质自拍视频| 国产成人免费网站| 久久美女艺术照精彩视频福利播放| 日本视频在线一区| 欧美日本一区二区三区四区| 一区二区三区在线视频播放| 成人午夜视频福利| 国产清纯在线一区二区www| 极品尤物av久久免费看| 欧美电视剧免费观看| 麻豆成人免费电影| 精品久久久久久久久久久久久久久 | 亚洲欧美一区二区久久| 粉嫩绯色av一区二区在线观看| 精品日韩一区二区| 精东粉嫩av免费一区二区三区 | 日本一二三不卡| 国产河南妇女毛片精品久久久| 久久伊99综合婷婷久久伊| 蜜臀91精品一区二区三区 | 久久久天堂av| 国产美女一区二区| 国产亚洲精品aa| 国产成人av影院| 中文字幕精品一区二区精品绿巨人 | 国产精品天天摸av网| 成人综合在线视频| 日韩理论在线观看| 色香蕉成人二区免费| 亚洲二区视频在线| 91精品在线麻豆| 精品亚洲欧美一区| 久久婷婷成人综合色| 国产宾馆实践打屁股91| 中文字幕一区二区三区av| 在线观看日产精品| 五月综合激情日本mⅴ| 日韩一区二区免费在线电影 | 琪琪一区二区三区| 久久综合久久综合九色| 国产不卡视频在线播放| 亚洲男人的天堂一区二区| 欧美猛男gaygay网站| 五月天丁香久久| 精品日韩在线观看| zzijzzij亚洲日本少妇熟睡| 亚洲一二三级电影| 精品国产91乱码一区二区三区| 国产精品影视在线观看| 国产精品九色蝌蚪自拍| 欧美日韩大陆一区二区| 国产一区二区三区四区五区美女| 综合中文字幕亚洲| 精品视频免费看|