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

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

?? segmentationbymodel.cpp

?? 車牌識別(改定位)武漢理工大學
?? CPP
字號:
// SegmentationbyModel.cpp: implementation of the CSegmentationbyModel class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SegmentationbyModel.h"
#include "math.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define ROUND(X) (((X)-int(X))>0.5?int(X)+1:int(X))
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSegmentationbyModel::CSegmentationbyModel()
{

}

CSegmentationbyModel::~CSegmentationbyModel()
{

}

CSegmentationbyModel::Segment(CList<CImage,CImage &> &ImgOutList,CImage &ImgVLP,CRect rcVLP, CImage &ImgOrg,BOOL &m_bBlack,BOOL IsEnter)
{
//	CImage ImgVLP;
//	ImgOrg.CutFromImg(ImgVLP,rcVLP);
	#define HEAD_AND_TAIL 10
	//白底黑字化
	
	CImage ImgTemp;
	CImage ImgOut=ImgVLP;
	double dA[2];
	double dB[2];
	int nLR[2];
	if(IsEnter == FALSE)
	{
		CImage imTwoOrg;
		CImage imTwoQuZao;
		ImgVLP.imGraytoTwo(imTwoOrg,m_bBlack);
		CList<CRect,CRect> ListRect;
		imTwoQuZao = imTwoOrg;
		imTwoQuZao.imLTquzao(ListRect);
		double dA[2];
		double dB[2];	
		//先通過連通字符求得傾斜角
		//要是連同不行就用跳變
		if (imTwoQuZao.GetABByLianTong(dA,dB))
		{
		}
		else
		{
			ImgVLP.GetABByTioaBian(dA,dB);
		}
		//	ImgVLP.GetABByTioaBian(dA,dB);
		int nLongType = 0;//等于0為正常;等于1為太長;等于-1為太短;
		CImage imRctTwoOrg;
		CImage imRctTwoQuZao;
		CImage imRctVLP;
		ImgVLP.RectifyAB(imRctVLP,dA,dB,m_bBlack?255:0,rcVLP.TopLeft(),&ImgOrg);
		imTwoOrg.RectifyAB(imRctTwoOrg,dA,dB,m_bBlack?255:0,rcVLP.TopLeft(),NULL,FALSE);
		imTwoQuZao.RectifyAB(imRctTwoQuZao,dA,dB,m_bBlack?255:0,rcVLP.TopLeft(),NULL,FALSE);
		if (imRctVLP.GetWidth()>imRctVLP.GetHeight()*6) 
		{
			nLongType = 1;
		//	AfxMessageBox("太長");
		}
		if (imRctVLP.GetWidth()<imRctVLP.GetHeight()*4) 
		{
			nLongType = -1;
		//	AfxMessageBox("太短");
		}
		//去掉左右邊界
		CImage imCutTwoOrg;
		CImage imCutTwoQuZao = imRctVLP;
		CImage imCutVLP;
		int nLR[2];
		ImgVLP.CutLRByTiaoBian(nLR,m_bBlack,imRctVLP.GetHeight());
		imRctVLP.CutFromImg(ImgVLP,CRect(nLR[0],0,nLR[1],imRctVLP.GetHeight()));
		imRctTwoQuZao.CutFromImg(ImgOut,CRect(nLR[0],0,nLR[1],imRctTwoQuZao.GetHeight()));
	}
	if(IsEnter == TRUE)
	{
        int m_nWidth = ImgVLP.GetWidth();
		int m_nHeight = ImgVLP.GetHeight();
		ImgVLP.imGraytoTwo(ImgOut,m_bBlack);
		int nW = ImgOut.GetWidth();
		int nH = ImgOut.GetHeight();
	   
 		double K = 5.3;
		if (nH<=11)
		{
			K = 6.1;
		}
		int x1 =0 ;
		for(int i=0;i<nW/2;i++)
		{
				if((nW-i)/(1.0*nH)<K)
				{
		            x1 = i;
					break;
				}
		}
		
	       CImage ImgOut1 = ImgOut;
		   ImgOut1.CutFromImg(ImgOut,CRect(x1,0,nW,nH));
       		   CImage ImgTemp1 = ImgVLP;
		   ImgTemp1.CutFromImg(ImgVLP,CRect(x1,0,nW,nH));
	}	
    CImage ImgOut1;
	ImgOut1 = ImgOut;
	CList<CRect,CRect> ListRect;
 	ImgOut1.imLTquzao(ListRect);
	
	//判斷太長
	/*
	*/

      
	ImgOutList.RemoveAll();
	int nLCut[10];
	if(!GetCCutLine(ImgOut,nLCut,IsEnter,m_bBlack))
	{
        return FALSE;
	}
/*
	if(IsEnter == TRUE)
	{
		int nLCut1[2];
  		GetRCutLine1(ImgOut,nLCut1);
		ImgOut.CutFromImg(ImgOut1,CRect(0,nLCut1[0],ImgOut.GetWidth(),nLCut1[1]));
		ImgOut = ImgOut1;
		GetRCutLine(ImgOut,nLCut1);
		ImgOut.CutFromImg(ImgOut1,CRect(0,nLCut1[0],ImgOut.GetWidth(),nLCut1[1]));
	}*/

	CImage ImgOut2;
	ImgOut1 = ImgOut;
	for(int i=0;i<8;i++)
	{
		if (i==2) {
			continue;
		}
		if(i==0)
		{
			ImgVLP.CutFromImg(ImgOut,CRect(nLCut[i],0,nLCut[i+1],ImgOut1.GetHeight()));
			ImgOut2 = ImgOut;
			ImgOut2.imGraytoTwo(ImgOut,m_bBlack);
            
            int Top=0;
			int Down = ImgOut.GetHeight();
			ImgOut2 = ImgOut;
			ImgOut2.hanziCutUpAndDown(Top,Down);
			ImgOut2.CutFromImg(ImgOut,CRect(0,Top,ImgOut2.GetWidth(),Down));
            ImgOut2 = ImgOut;
			ImgOut2.DanziLeftAndRight(ImgOut);
			ImgOutList.AddTail(ImgOut);
		}
		
		else
		{
			ImgOut1.CutFromImg(ImgOut,CRect(nLCut[i],0,nLCut[i+1],ImgOut1.GetHeight()));
			int Top=0;
			int Down = ImgOut.GetHeight();
			ImgOut2 = ImgOut;
			ImgOut2.CutUpAndDown(Top,Down);
			ImgOut2.CutFromImg(ImgOut,CRect(0,Top,ImgOut2.GetWidth(),Down));
			ImgOut2 = ImgOut;
             ImgOut2.DanziLeftAndRight(ImgOut);
			// ImgOut.DenoiseMax();
			ImgOutList.AddTail(ImgOut);
		}
	}
	return TRUE;
}

BOOL CSegmentationbyModel::GetCCutLine(CImage &imTwo, int nLCut[],BOOL IsEnter,BOOL &m_bBlack) 
{
	double n=1,m=0.5;
	int x1=0,x2=0;
	double h1,h2,h3;
	
	int nW = imTwo.GetWidth();
	int *pBPoint = new int[nW];
	memset(pBPoint,0,sizeof(int)*nW);
	for(int i=0;i<nW;i++)
	{
		for(int j=0;j<imTwo.GetHeight();j++)
		{
			if (imTwo.m_pR[j*nW+i]>128) 
			{
				pBPoint[i]++; 
			}
		}
	}
	int nMax=-100000000;
	int nX1=0,nX2=0;
    int Sum;
	for(x1=0;x1<HEAD_AND_TAIL;x1++)
	{
		for(x2=0;x2<HEAD_AND_TAIL;x2++)
		{
			h2 = (nW-x1-x2)/(6+n+m);
			h1=n*h2;
			h3=m*h2;
			Sum=0.0;
			int LL=min(int(x1+h1+6*h2+h3)+1,imTwo.GetWidth());
			int KK = max(int(x1-1),0);
			//考慮情況x1==0和x2==0的時候
			if (x1==0)
			{
				Sum = imTwo.GetHeight()+Max(pBPoint[int(x1+h1)-1],pBPoint[int(x1+h1)],pBPoint[int(x1+h1)+1])+Max(pBPoint[int(x1+h1+h2)-1],pBPoint[int(x1+h1+h2)],pBPoint[int(x1+h1+h2)+1])+
					Max(pBPoint[int(x1+h1+h2+h3)-1],pBPoint[int(x1+h1+h2+h3)],pBPoint[int(x1+h1+h2+h3)]+1)+Max(pBPoint[int(x1+h1+2*h2+h3)-1],pBPoint[int(x1+h1+2*h2+h3)],pBPoint[int(x1+h1+2*h2+h3)+1])+
					Max(pBPoint[int(x1+h1+3*h2+h3)-1],pBPoint[int(x1+h1+3*h2+h3)],pBPoint[int(x1+h1+3*h2+h3)+1])+Max(pBPoint[int(x1+h1+4*h2+h3)-1],pBPoint[int(x1+h1+4*h2+h3)],pBPoint[int(x1+h1+4*h2+h3)+1])+
					Max(pBPoint[int(x1+h1+5*h2+h3)-1],pBPoint[int(x1+h1+5*h2+h3)],pBPoint[int(x1+h1+5*h2+h3)+1])+Max(pBPoint[int(x1+h1+6*h2+h3)-1],pBPoint[int(x1+h1+6*h2+h3)],pBPoint[LL]);
			Sum = imTwo.GetHeight()+pBPoint[int(x1+h1)]+pBPoint[int(x1+h1+h2)]+pBPoint[int(x1+h1+h2+h3)]+pBPoint[int(x1+h1+2*h2+h3)]+pBPoint[int(x1+h1+3*h2+h3)]+pBPoint[int(x1+h1+4*h2+h3)]+pBPoint[int(x1+h1+5*h2+h3)]+pBPoint[int(x1+h1+6*h2+h3)];
				//  Sum1 = imTwo.GetHeight()+pBPoint[int(x1+h1)+1]+pBPoint[int(x1+h1+h2)]+pBPoint[int(x1+h1+h2+h3)]+pBPoint[int(x1+h1+2*h2+h3)]+pBPoint[int(x1+h1+3*h2+h3)]+pBPoint[int(x1+h1+4*h2+h3)]+pBPoint[int(x1+h1+5*h2+h3)]+pBPoint[int(x1+h1+6*h2+h3)];
			}
			else if (x2==0)
			{
				Sum = imTwo.GetHeight()+Max(pBPoint[KK],pBPoint[x1],pBPoint[x1+1])+Max(pBPoint[int(x1+h1)-1],pBPoint[int(x1+h1)],pBPoint[int(x1+h1)+1])+Max(pBPoint[int(x1+h1+h2)-1],pBPoint[int(x1+h1+h2)],pBPoint[int(x1+h1+h2)+1])+
					Max(pBPoint[int(x1+h1+h2+h3)-1],pBPoint[int(x1+h1+h2+h3)],pBPoint[int(x1+h1+h2+h3)]+1)+Max(pBPoint[int(x1+h1+2*h2+h3)-1],pBPoint[int(x1+h1+2*h2+h3)],pBPoint[int(x1+h1+2*h2+h3)+1])+
					Max(pBPoint[int(x1+h1+3*h2+h3)-1],pBPoint[int(x1+h1+3*h2+h3)],pBPoint[int(x1+h1+3*h2+h3)+1])+Max(pBPoint[int(x1+h1+4*h2+h3)-1],pBPoint[int(x1+h1+4*h2+h3)],pBPoint[int(x1+h1+4*h2+h3)+1])+
					Max(pBPoint[int(x1+h1+5*h2+h3)-1],pBPoint[int(x1+h1+5*h2+h3)],pBPoint[int(x1+h1+5*h2+h3)+1]);

				Sum = imTwo.GetHeight() +pBPoint[x1]+pBPoint[int(x1+h1)]+pBPoint[int(x1+h1+h2)]+pBPoint[int(x1+h1+h2+h3)]+pBPoint[int(x1+h1+2*h2+h3)]+pBPoint[int(x1+h1+3*h2+h3)]+pBPoint[int(x1+h1+4*h2+h3)]+pBPoint[int(x1+h1+5*h2+h3)];
			}
			else
			{
				Sum = Max(pBPoint[KK],pBPoint[x1],pBPoint[x1+1])+Max(pBPoint[int(x1+h1)-1],pBPoint[int(x1+h1)],pBPoint[int(x1+h1)+1])+Max(pBPoint[int(x1+h1+h2)-1],pBPoint[int(x1+h1+h2)],pBPoint[int(x1+h1+h2)+1])+
					Max(pBPoint[int(x1+h1+h2+h3)-1],pBPoint[int(x1+h1+h2+h3)],pBPoint[int(x1+h1+h2+h3)]+1)+Max(pBPoint[int(x1+h1+2*h2+h3)-1],pBPoint[int(x1+h1+2*h2+h3)],pBPoint[int(x1+h1+2*h2+h3)+1])+
					Max(pBPoint[int(x1+h1+3*h2+h3)-1],pBPoint[int(x1+h1+3*h2+h3)],pBPoint[int(x1+h1+3*h2+h3)+1])+Max(pBPoint[int(x1+h1+4*h2+h3)-1],pBPoint[int(x1+h1+4*h2+h3)],pBPoint[int(x1+h1+4*h2+h3)+1])+
					Max(pBPoint[int(x1+h1+5*h2+h3)-1],pBPoint[int(x1+h1+5*h2+h3)],pBPoint[int(x1+h1+5*h2+h3)+1])+Max(pBPoint[int(x1+h1+6*h2+h3)-1],pBPoint[int(x1+h1+6*h2+h3)],pBPoint[LL]);
				Sum = pBPoint[x1]+pBPoint[int(x1+h1)]+pBPoint[int(x1+h1+h2)]+pBPoint[int(x1+h1+h2+h3)]+pBPoint[int(x1+h1+2*h2+h3)]+pBPoint[int(x1+h1+3*h2+h3)]+pBPoint[int(x1+h1+4*h2+h3)]+pBPoint[int(x1+h1+5*h2+h3)]+pBPoint[int(x1+h1+6*h2+h3)];
			}
			if (Sum>nMax)
			{
				nMax = Sum;
				nX1 = x1;
				nX2 = x2;
			}
		}
	}
	if (nX1>8)
	{
		Sum = 0;
		int *sum2 = new int[nX1];
		memset(sum2,0,sizeof(int)*nX1);
		for (int i=0;i<imTwo.GetHeight();i++)
		{
			for (int j=0;j<nX1;j++)
			{
				if (imTwo.m_pR[i*nW+j] <128)
				{
					Sum++;
					sum2[j]++;
				}
			}
		}
		int Y;
		Y = Sum/nX1;
		int kk = nX1;
		if((imTwo.GetHeight()-1>Y) &&(Y>imTwo.GetHeight()/3))
		{
			kk = 0;
		}
		for (i=0;i<nW;i++)
		{
			for (int j=0;j<nX1;j++)
			{
				if (sum2[j]>=imTwo.GetHeight()-1)
				{
					kk = j;
				}
				else if(sum2[j]<2)
				{
					kk = j;
				}
				else if(sum2[j]<imTwo.GetHeight()-1 && sum2[j]>2)
				{
					break;
				}
			}
		}
		nX1 = kk;
		delete[]sum2;
	}
	h2 = (nW-nX1-nX2)/(6+n+m);
	h1=n*h2;
	h3=m*h2;
	

	nLCut[0] = Max(pBPoint,nX1,imTwo.GetWidth());//int(nX1);
	nLCut[1] = Max(pBPoint,nX1+h1,imTwo.GetWidth());//int(nX1+h1);
	nLCut[2] = Max(pBPoint,nX1+h1+h2,imTwo.GetWidth());//int(nX1+h1+h2);
	nLCut[3] = Max(pBPoint,nX1+h1+h2+h3,imTwo.GetWidth());//int(nX1+h1+h2+h3);
	nLCut[4] = Max(pBPoint,nX1+h1+2*h2+h3,imTwo.GetWidth());//int(nX1+h1+2*h2+h3);
	nLCut[5] = Max(pBPoint,nX1+h1+3*h2+h3,imTwo.GetWidth());//int(nX1+h1+3*h2+h3);
	nLCut[6] = Max(pBPoint,nX1+h1+4*h2+h3,imTwo.GetWidth());//int(nX1+h1+4*h2+h3);
	nLCut[7] = Max(pBPoint,nX1+h1+5*h2+h3,imTwo.GetWidth());//int(nX1+h1+5*h2+h3);
	nLCut[8] = Max(pBPoint,nX1+h1+6*h2+h3,imTwo.GetWidth());//int(nX1+h1+6*h2+h3);
	int Sum5 = 0;
	/*
	if(nLCut[3]-nLCut[2]<2 && IsEnter == FALSE)
		{
			delete []pBPoint;
			return FALSE;
		}*/
	
    for(i=nLCut[2];i<nLCut[3];i++)
	{
        Sum5 += imTwo.GetHeight()-pBPoint[i];
	}
	double dRate = Sum5/(imTwo.GetHeight()*(nLCut[3]-nLCut[2])*1.0);

	


     	/*
     	if(dRate>0.75 && IsEnter == FALSE)
     			{
     		        if(m_bBlack==TRUE)
     				{
     					m_bBlack =	FALSE;
     				}
     				else
     				{
     					m_bBlack = TRUE;
     				}
     				delete []pBPoint;
     				return FALSE;
     			}
     	
     	*/
     	
		if(dRate>0.25 && IsEnter == FALSE)
		{
			delete []pBPoint;
			return FALSE;
		}	
	delete []pBPoint;
	return TRUE; 

}
BOOL CSegmentationbyModel::GetRCutLine(CImage &imTwo, int nLCut[]) 
{
	int KK = 2;
	int LL = 1;
    int nW = imTwo.GetWidth();
	int nH = imTwo.GetHeight();
	int Sum1=0, Sum2=0, Sum3=0;
	int Y=-100;
	int x1 = 0, x2 = 0;
	int rh = 0;
	int *pBPoint = new int[nH];
	memset(pBPoint,0,sizeof(int)*nH);
	for(int i=0;i<nH;i++)
	{
		for(int j=0;j<nW;j++)
		{
			if (imTwo.m_pR[i*nW+j]>128) 
			{
				pBPoint[i]++; 
			}
		}
	}
	if(i==0)
	{
		pBPoint[i]=nW-pBPoint[i];
	}
	/*
		else
			{
				pBPoint[i]=abs(pBPoint[i]-pBPoint[i-1]);//應該可以不用
			}*/
	for(x1=0;x1<KK;x1++)
	{
		for(x2=0;x2<LL;x2++)
		{ 
			rh = nH-x2;
			if(x2==0)
			{
				Sum1 = pBPoint[x1]+pBPoint[rh];
				Sum2 = pBPoint[x1+1]+pBPoint[rh];
				Sum3 = pBPoint[x1]+pBPoint[rh-1];
			}
			else
			{
				Sum1 = pBPoint[x1]+pBPoint[rh];
				Sum2 = pBPoint[x1+1]+pBPoint[rh];
				Sum3 = pBPoint[x1]+pBPoint[rh+1];//可考慮為rh-1;
			}
			//簡化下面操作
		    if(Sum1>Y)
			{
				Y=Sum1;
				nLCut[0] = x1;
				nLCut[1] = rh;
			}
			if(Sum2>Y)
			{
				Y=Sum2;
				nLCut[0] = x1+1;
				nLCut[1] = rh;
			}
			if(Sum3>Y)
			{
				Y=Sum3;
				nLCut[0] = x1;
				nLCut[1] = rh;
			}
		}
	}
    delete []pBPoint;
     
	return TRUE;
}

int CSegmentationbyModel::Max(int a, int b, int c)
{
	a = max(a,b);
	a = max(a,c);
	return a;
}

int CSegmentationbyModel::Max(int * pBPoint,int nPos,int nNum)
{
	int data[3] = {max(nPos-1,0),nPos,min(nPos+1,nNum-1)};
	int a,b,c;
	a = pBPoint[data[0]];
	b = pBPoint[data[1]];
	c = pBPoint[data[2]];

	int nMaxNo = 0;
	nMaxNo = a>b?0:1;
	int nMax = max(a,b);
	
	nMaxNo = nMax>c?nMaxNo:2;
	nMax = max(nMax,c);

	return data[nMaxNo];
}

BOOL CSegmentationbyModel::GetRCutLine1(CImage &imTwo, int nLCut[])
{
    int KK = 4;
	int LL = 3;
	int nW = imTwo.GetWidth();
	int nH = imTwo.GetHeight();
	int Sum1=0, Sum2=0, Sum3=0;
	int Y=-100;
	int x1 = 0, x2 = 0;
	int rh = 0;
	int *pBPoint = new int[nH];
	memset(pBPoint,0,sizeof(int)*nH);
	for(int i=0;i<nH;i++)
	{
		for(int j=0;j<nW;j++)
		{
			if (imTwo.m_pR[i*nW+j]>128) 
			{
				pBPoint[i]++; 
			}
		}
	}
	for(x1=0;x1<KK;x1++)
	{
		for(x2=0;x2<LL;x2++)
		{ 
			rh = nH-x2;
			if(x2==0)
			{
				Sum1 = pBPoint[x1]+pBPoint[rh];
				Sum2 = pBPoint[x1+1]+pBPoint[rh];
				Sum3 = pBPoint[x1]+pBPoint[rh-1];
			}
			else
			{
				Sum1 = pBPoint[x1]+pBPoint[rh];
				Sum2 = pBPoint[x1+1]+pBPoint[rh];
				Sum3 = pBPoint[x1]+pBPoint[rh+1];//可考慮為rh-1;
			}
			//簡化下面操作
			if(Sum1>Y)
			{
				Y=Sum1;
				nLCut[0] = x1;
				nLCut[1] = rh;
			}
			if(Sum2>Y)
			{
				Y=Sum2;
				nLCut[0] = x1+1;
				nLCut[1] = rh;
			}
			if(Sum3>Y)
			{
				Y=Sum3;
				nLCut[0] = x1;
				nLCut[1] = rh;
			}
		}
	}
	delete []pBPoint;
	
	return TRUE;
}









































?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠成人网p站| 久久久久久一级片| 精品精品欲导航| 亚洲色图19p| 极品尤物av久久免费看| 欧美亚洲日本国产| 中文字幕一区二区三区在线不卡| 婷婷开心激情综合| 欧美在线观看禁18| 中文字幕一区在线观看视频| 国产精品亚洲成人| 精品久久久久久久久久久久包黑料 | 日本在线不卡一区| 色综合视频一区二区三区高清| 欧美精品一区二| 亚洲国产精品久久艾草纯爱| 日韩精品免费专区| 成人午夜激情影院| 成人精品一区二区三区中文字幕 | 不卡在线观看av| 久久综合狠狠综合久久综合88| 天堂一区二区在线免费观看| 在线看国产一区| 亚洲码国产岛国毛片在线| eeuss鲁一区二区三区| 国产欧美精品一区二区色综合朱莉| 日本在线不卡一区| 日韩欧美一区二区视频| 青青草一区二区三区| 欧美一区二区视频免费观看| 免费成人美女在线观看.| 欧美一级久久久久久久大片| 五月天丁香久久| 91精品福利在线一区二区三区 | 国产精品福利一区| 丁香一区二区三区| 中文字幕在线不卡| 91福利小视频| 午夜精品视频在线观看| 欧美一区二区三区在线| 精品亚洲成a人在线观看 | 欧美一区二区三区视频在线| 日韩电影在线一区| 精品国产伦理网| 国产成人av福利| 自拍偷拍亚洲激情| 精品视频在线看| 久久精品99国产精品日本| 2024国产精品视频| www.日韩在线| 亚洲成av人**亚洲成av**| 91精品免费观看| 成人精品电影在线观看| 国产欧美一区二区精品性色超碰| 成人av资源在线| 亚洲一区欧美一区| 日韩欧美一级精品久久| 国产99久久久国产精品免费看| 国产精品动漫网站| 欧美精品一二三区| 国产另类ts人妖一区二区| 最新国产の精品合集bt伙计| 欧美军同video69gay| 国产精品一区在线观看你懂的| 亚洲欧美国产三级| 日韩免费高清av| 91网站最新地址| 男男视频亚洲欧美| 亚洲人成网站精品片在线观看| 欧美高清性hdvideosex| 国产精品白丝av| 亚洲成人你懂的| 国产精品第13页| 日韩欧美在线123| 欧美一a一片一级一片| 国产一区二三区好的| 午夜欧美视频在线观看| 国产欧美精品一区二区色综合朱莉| 欧美日韩免费一区二区三区视频| 国产不卡视频在线观看| 日韩电影免费在线看| 亚洲欧美日韩在线| 2021国产精品久久精品| 欧美人与性动xxxx| 97精品久久久午夜一区二区三区| 美腿丝袜亚洲三区| 亚洲一区二区在线播放相泽| 久久久激情视频| 欧美mv日韩mv| 欧美一级片免费看| 欧美系列日韩一区| 99久久精品国产精品久久| 国产一区二区三区视频在线播放 | 亚洲欧洲精品天堂一级| 2021中文字幕一区亚洲| 日韩亚洲欧美中文三级| 欧美高清hd18日本| 欧美亚洲国产一区二区三区| 99re亚洲国产精品| va亚洲va日韩不卡在线观看| 国产综合色产在线精品| 蜜臀av一区二区三区| 日本网站在线观看一区二区三区 | 综合久久综合久久| 国产精品久久久久久久久果冻传媒| 欧美国产精品一区二区三区| 日韩欧美一区在线观看| 91精品国产高清一区二区三区蜜臀| 在线中文字幕一区二区| 色婷婷久久综合| 在线视频观看一区| 91黄色免费看| 欧美日免费三级在线| 欧美日韩亚洲综合一区| 欧美巨大另类极品videosbest | proumb性欧美在线观看| 北条麻妃一区二区三区| av在线不卡网| 99久久精品国产一区二区三区| 成人激情黄色小说| 99re热这里只有精品免费视频| 91麻豆蜜桃一区二区三区| 91久久精品国产91性色tv| 欧洲一区二区av| 欧美精品乱码久久久久久| 日韩视频在线你懂得| 久久综合九色综合97_久久久| 久久久99久久精品欧美| 国产精品网站在线播放| 亚洲精品乱码久久久久久黑人| 亚洲综合丁香婷婷六月香| 午夜精品福利久久久| 美女网站色91| 国产成人鲁色资源国产91色综 | 欧美日韩色综合| 欧美电视剧在线看免费| 久久久久久久久久久久久久久99| 国产日韩欧美精品电影三级在线 | 色妞www精品视频| 欧美日韩精品福利| 国产亚洲综合在线| 亚洲精品美国一| 久久福利资源站| a4yy欧美一区二区三区| 欧美系列在线观看| 久久久久国产一区二区三区四区| 中文字幕在线观看不卡视频| 亚洲国产日韩综合久久精品| 激情五月播播久久久精品| 91啪在线观看| 欧美videossexotv100| 国产精品女人毛片| 欧美aaaaa成人免费观看视频| 成人综合婷婷国产精品久久| 欧美日韩中文字幕一区二区| 久久久一区二区三区| 亚洲香肠在线观看| 国产精品一二三区在线| 欧美日韩在线综合| 国产夜色精品一区二区av| 五月天亚洲婷婷| 91香蕉视频污| 国产日韩精品一区二区浪潮av| 亚洲综合视频在线| 成人午夜激情在线| 日韩一级高清毛片| 一区二区三区鲁丝不卡| 国产麻豆午夜三级精品| 在线播放/欧美激情| 综合久久国产九一剧情麻豆| 国产美女精品人人做人人爽| 欧美剧在线免费观看网站 | 亚洲视频一区二区在线观看| 丝袜美腿成人在线| 91视频免费观看| 国产日韩欧美综合在线| 精彩视频一区二区| 日韩限制级电影在线观看| 亚洲一区二区综合| 99久久伊人网影院| 欧美激情一区二区三区在线| 美女尤物国产一区| 日韩欧美久久久| 日日噜噜夜夜狠狠视频欧美人| 99精品视频在线播放观看| 欧美精彩视频一区二区三区| 另类小说色综合网站| 日韩午夜激情av| 免费久久99精品国产| 欧美日本一道本在线视频| 亚洲一区二区黄色| 欧美日韩中文字幕精品| 亚洲综合区在线| 欧美日韩国产综合一区二区三区 | 欧美三级欧美一级| 亚洲综合精品自拍| 欧美日韩一区二区在线视频| 香蕉成人啪国产精品视频综合网 | 91在线精品一区二区| 国产精品美女久久久久av爽李琼 |