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

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

?? image.c

?? 兩幅圖像匹配算法
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* * * $Header: /usr/u/wjr/src/ADT/RCS/image.c,v 2.5 1994/07/24 23:32:57 wjr Exp $ * * Copyright (c) 1990, 1991, 1992, 1993 Cornell University.  All Rights * Reserved. * * Copyright (c) 1991, 1992 Xerox Corporation.  All Rights Reserved. *   * Use, reproduction, preparation of derivative works, and distribution * of this software is permitted.  Any copy of this software or of any * derivative work must include both the above copyright notices of * Cornell University and Xerox Corporation and this paragraph.  Any * distribution of this software or derivative works must comply with all * applicable United States export control laws.  This software is made * available AS IS, and XEROX CORPORATION DISCLAIMS ALL WARRANTIES, * EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, * AND NOTWITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN, ANY * LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS * EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING * NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED * OF THE POSSIBILITY OF SUCH DAMAGES. */static char rcsid[] = "@(#)$Header: /usr/u/wjr/src/ADT/RCS/image.c,v 2.5 1994/07/24 23:32:57 wjr Exp $";/* *	image.c - Images. * * An image is just a rectangular array of some type (several types are * implemented here). * * Exports: *	type struct { unsigned char r, g, b } RGB * *	type ImageType * *	type GrayImage *	type FloatImage *	type RGBImage *	type DoubleImage *	type BinaryImage *	type LongImage *	type PtrImage *	type ShortImage * *	type GrayPixPtr *	type FloatPixPtr *	type RGBPixPtr *	type DoublePixPtr *	type BinaryPixPtr *	type LongPixPtr *	type PtrPixPtr *	type ShortPixPtr * *	constant ImageType IMAGE_GRAY *	constant ImageType IMAGE_FLOAT *	constant ImageType IMAGE_RGB *	constant ImageType IMAGE_DOUBLE *	constant ImageType IMAGE_BINARY *	constant ImageType IMAGE_LONG *	constant ImageType IMAGE_PTR *	constant ImageType IMAGE_SHORT * *	constant int COLRNG * *	void *imNew(ImageType type, unsigned width, unsigned height) - create *		a new image of the appropriate type. The pointer returned *		will be a GrayImage, FloatImage, RGBImage, DoubleImage,  *		BinaryImage or WhateverelseImage as appropriate. * *	void *imNewOffset(ImageType type, unsigned width, unsigned height, *			  int xbase, int ybase) - create a new image of *		the appropriate type whose addressing begins *		at (xbase, ybase). *		imNew is equivalent to xbase = ybase = 0. * *	void imFree(void *im) - free an image. * *	void imSetOffset(void *im, int newxbase, int newybase) - modify *		an image so that its addressing begins at *		(newxbase, newybase). * *	void *imLoad(ImageType type, char *filename) - load an image from *		a file. The pointer returned will be of the appropriate *		type. Its base will be (0,0). * *	void *imLoadF(ImageType type, FILE *inFile) - load an image *		from a stream. The pointer returned will be of the *		appropriate type. * *	int imSave(void *im, char *filename) - save an image into a file. * *	int imSaveF(void *im, FILE *outFile) - save an image to a stream. * *	void *imDup(void *im) - duplicate an image * *	void *imPromote(void *im, ImageType promoteto) - promote an image to *		some higher type. * *	void imSetPromotion(ImageType promotefrom, ImageType promoteto, *			    double slope, double offset) - change the method *		of image promotion. * *	void *imDemote(void *im, ImageType demoteto) - demote an image to some *		lower type. * *	void *imConvert(void *im, ImageType convertto) - convert (promote *		or demote as appropriate) an image to some other type. * *	unsigned imGetWidth(void *im) - get the width of an image. * *	unsigned imGetHeight(void *im) - get the height of an image. * *	int imGetXBase(void *im) - get the x-base of an image. * *	int imGetYBase(void *im) - get the y-base of an image. * *	int imGetXMax(void *im) - get the maximum valid X value of an image. * *	int imGetYMax(void *im) - get the maximum valid Y value of an image. * *	ImageType imGetType(void *im) - get the type of an image. * *	char *imGetComment(void *im) - get the comment attached to an image. * *	boolean imSetComment(void *im, char *comment) - set the comment *		attached to an image. * *	macro imRef(void *im, int x, int y) - access an element *		of some form of Image. * *	macro imGetPixPtr(void *im, int x, int y) - get a handle on a pixel of *		some form of Image. * *	macro imPtrRef(void *im, *PixPtr) - dereference a PixPtr of some type. * *	macro imPtrDup(void *im, *PixPtr) - duplicate a PixPtr of some type. * *	void imPtrUp(void *im, *PixPtr) - move a PixPtr up in the image. * *	void imPtrDown(void *im, *PixPtr) - move a PixPtr down in the image. * *	void imPtrLeft(void *im, *PixPtr) - move a PixPtr left in the image. * *	void imPtrRight(void *im, *PixPtr) - move a PixPtr right in the image. * *	boolean imPtrEq(void *im, *PixPtr1, *PixPtr2) - check two PixPtrs *		for equality. * * An image is a rectangular storage area, with each cell being of some * type. In this case, the types are unsigned char, float, RGB, double, * binary, long, void * and short. Float is large enough for most purposes for * image processing; for those for which it is not, DoubleImage is provided; * the space costs are much higher for this, so it should be avoided unless * necessary. Binary images can store 0 or 1 in each location. By convention, * 0 is white and 1 is black in binary images. * PtrImages can store a void * pointer at each location. These images may * not be saved or loaded. * COLRNG is the number of discrete gray levels in a GrayImage, and the number * of levels in each component of an RGBImage. COLRNG-1 is the brightest * (most white) GrayImage value. * * N.B. Older versions of this datatype had a different definition for RGB, * namely: *	typedef unsigned char RGB[3]; * Due to C's weirdness with arrays, this proved troublesome, so the new * definition was installed. However, since some code relies on the old * definition, a backwards compatibility mode is available. To get it, * #define IMAGE_OLD_RGB * before including image.h. * * imNew creates an Image of the given size, of the appropriate type, *	returning (void *)NULL on failure. The Image returned *	contains all zeros. The return value should be cast to *	the appropriate type. * * imNewOffset creates an image of the given size, of the appropriate type, *	returning (void *)NULL on failure. The valid range of addresses *	for the new image is (xbase..xbase+width-1, ybase..ybase+height-1). *	Addressing an image with a shifted base may be more efficient than *	performing the base shift for each access. * * imFree frees the given Image. * * imSetOffset modifies the given image so that its range of addresses *	is (newxbase..newxbase+width-1, newybase..newybase+height-1). *	The image data is not changed. The pixel which was previously *	addressed as imRef(im, imGetXBase(im), imGetYBase(im)) will now *	be addressed as imRef(im, newxbase, newybase). imGetXBase(im) and *	imGetYBase(im) will be updated to newxbase and newybase. * * imLoad attempts to load an Image from a file. It checks to see that *	what is stored in the file has the appropriate type, and if not *	returns NULL. It then attempts to load the image from the file, *	and if successful returns the (.*)Image as appropriate. If it *	fails, it returns NULL. The base of the loaded image is (0,0), *	regardless of what it was when it was saved. The file is closed in *	all cases. *	If the file does not contain an image of the appropriate type, but *	does contain an image of a type which may be promoted to that type *	(for example, if it contains a BinaryImage and imLoad is attempting *	to load a GrayImage), the image will be read and silently promoted *	to the requested type (see imPromote). If such a promotion is not *	possible, NULL is returned. *	Any comments present in the original file are read in and stored *	as the comment associated with the image (see imGetComment). *	If more than one comment line was present in the file, then the *	contents of the lines will be separated by newlines. There is no *	trailing newline; thus, the image read from a file with a single *	comment line will contain the contents of that line with no extra *	newline. There is a maximum limit on the amount of comments which *	will be read from a file of 8192 bytes (including newlines). * * imLoadF attempts to load an Image from a stdio stream. It performs the *	same operations as imLoad, except that it assumes the stream is *	open and correctly positioned. After loading, the stream is positioned *	to just after the image; it is not closed. If the image cannot be *	loaded (i.e. if NULL is returned), the position of the stream (and *	what has been written to it) is undefined. * * imSave attempts to write the given Image out to a file. If successful, *	it returns 0. If it fails, it returns -1. Files written by imSave *	from IMAGE_FLOAT, IMAGE_DOUBLE, IMAGE_LONG and IMAGE_SHORT images *	can only be re-read on same type of machine as they were written, *	unless two different machines happen to share a floating point format, *	endianness, and	alignment restrictions. Luckily, this is often *	the case. It also writes out the comment associated with the image *	as a comment in the file. The rules for this are: *	- Every newline in the comment string causes a new comment line to *	  be begun in the file. *	- If any line would be longer than 70 characters, it is broken up. *	  If possible, it will be broken at a whitespace character. *	If imSave fails (returns -1), the contents of the file are *	undefined. * * imSaveF performs the same function as imSave, except that it writes *	to a previously-opened stream. After the save, the stream *	is positioned after the newly-written data. * * imDup makes an exact duplicate of an Image - another Image having *	the same size, type and offsets, the same image data, and the same *	comment. It returns (void *)NULL if it cannot create the duplicate. * * imPromote converts an image to a "higher" type of image. The arguments are *	the image to be converted and the type into which it should be *	converted. It returns (void *)NULL if it cannot create the new image. *	Only certain types of conversions are possible with this routine. *	They are: *	BinaryImages can be promoted to: *		GrayImage, ShortImage, LongImage, FloatImage, DoubleImage, *		RGBImage *	GrayImages can be promoted to: *		ShortImage, LongImage, FloatImage, DoubleImage, RGBImage *	ShortImages can be promoted to: *		LongImage, FloatImage, DoubleImage *	LongImages can be promoted to: *		DoubleImage *	FloatImages can be promoted to: *		DoubleImage *	The rules of the conversions are: *	BinaryImage->GrayImage, ShortImage, LongImage:	(1-COLRNG,COLRNG-1) *		0 maps to COLRNG - 1 *		1 maps to 0 *	BinaryImage->FloatImage, DoubleImage:		(1,0) *		0 maps to 0 *		1 maps to 1 *	BinaryImage->RGBImage:				(1-COLRNG,COLRNG-1) *		0 maps to {COLRNG-1, COLRNG-1, COLRNG-1} *		1 maps to {0, 0, 0} *	GrayImage->ShortImage, LongImage, FloatImage, DoubleImage: (1,0) *		a pixel with value v in the original image has value v *		in the converted image. (i.e. v maps to v) *	GrayImage->RGBImage:				(1,0) *		v maps to {v, v, v} *	ShortImage->LongImage, FloatImage, DoubleImage:	(1,0) *		v maps to v *	LongImage->DoubleImage:				(1,0) *		v maps to v *	FloatImage->DoubleImage:			(1,0) *		v maps to v *	The meaning of the numbers in parentheses are: if a conversion *	is labelled (a,b), then a pixel with input value v will be mapped *	to av+b. These values are the default ones; they may be changed at *	any time with imSetPromotion. Note that these default values are not *	transitive: promoting (for example) a BinaryImage to a GrayImage then *	to a FloatImage will give different results than promoting the *	BinaryImage directly to a FloatImage. *	When converting to an RGBImage, all three components are set to the *	same value. *	These conversions are all those which are strictly "promotions": no *	information is lost during the conversion. * * imSetPromotion alters the parameters of one of the promotions. The *	"promotefrom" and "promoteto" ImageTypes must correspond to a *	valid promotion. The slope and offset parameters will then be used *	for all future promotions from images of type "promotefrom" to images *	of type "promoteto". This includes the implicit promotions performed *	by imLoad and imLoadF. * * imDemote converts an Image to an Image of lower type. The conversions *	which this routine may perform are: *	DoubleImages can be demoted to: *		BinaryImage, GrayImage, ShortImage, LongImage, FloatImage, *		RGBImage *	FloatImages can be demoted to: *		BinaryImage, GrayImage, ShortImage, LongImage, RGBImage *	LongImages can be demoted to: *		BinaryImage, GrayImage, ShortImage, FloatImage, RGBImage *	ShortImages can be demoted to: *		BinaryImage, GrayImage, RGBImage *	GrayImages can be demoted to: *		BinaryImage *	RGBImages can be demoted to: *		BinaryImage, GrayImage, ShortImage, LongImage, FloatImage, *		DoubleImage *	All these conversions have the property that information may be lost. *	Note that some conversions may lose information in both directions *	(for example DoubleImage<->RGBImage). *	The rules of the conversions are: *	DoubleImage->FloatImage: *		v maps to v, if v lies in the range of floats *		undefined if v does not *	DoubleImage->LongImage, ShortImage, GrayImage: *		v maps to floor(v) if floor(v) is representable in the *		destination *		undefined if floor(v) is not *	DoubleImage->BinaryImage: *		0 maps to 0 *		non-zero maps to 1 *	DoubleImage->RGBImage *		v maps to {floor(v), floor(v), floor(v)} if floor(v) is *		representable in the destination *		undefined if floor(v) is not *	FloatImage->LongImage, ShortImage, GrayImage: *		v maps to floor(v) if floor(v) is representable in the *		destination *		undefined if floor(v) is not *	FloatImage->BinaryImage: *		0 maps to 0 *		non-zero maps to 1 *	FloatImage->RGBImage *		v maps to {floor(v), floor(v), floor(v)} if floor(v) is *		representable in the destination *		undefined if floor(v) is not *	LongImage->ShortImage, GrayImage *		v maps to v if v is representable in the destination *		undefined if v is not *	LongImage->FloatImage *		v maps to v (note that accuracy may be lost) *	LongImage->BinaryImage *		0 maps to 1 *		non-zero maps to 0 *	LongImage->RGBImage *		v maps to {v, v, v} if v is representable in the destination *		undefined if v is not *	ShortImage->GrayImage *		v maps to v if v is representable in the destination *		undefined if v is not *	ShortImage->BinaryImage *		0 maps to 1 *		non-zero maps to 0 *	ShortImage->RGBImage *		v maps to {v, v, v} if v is representable in the destination *		undefined if v is not *	GrayImage->BinaryImage *		0 maps to 1 *		non-zero maps to 0 *	RGBImage->BinaryImage *		If all components are zero, then 1 *		0 otherwise *	RGBImage->anything else *		The R, G and B components are first combined by *		v = .299R + .587G + .114B *		The resulting value is then assigned to the new image pixel. *	These conversions are as closely as possibly the inverses of the *	conversion routines used by imPromote (i.e. a promotion followed by a *	demotion will give the original image back). Note that this makes them *	non-transitive, and that there are some conversions which are *	demotions in both directions. None of these conversions may be *	altered; if another type of conversion is desired, a special routine *	may be written. * * imConvert converts (promotes or demotes) an image to an image of another *	type. Any two types of image may be converted between, except for *	PtrImages. This routine is a convenience routine which calls *	imPromote or imDemote as necessary. As a special case, *	converting an image to its original type has the same effect as *	imDup EXCEPT that the comment is not copied (no other conversion copies *	the comment, so this behaviour is consistent). Note that this form of *	conversion is neither a promotion nor a demotion, and so will be *	rejected by both imPromote and imDemote. * * imGetWidth returns the width of the given Image. * * imGetHeight returns the height of the given Image. * * imGetXBase returns the X base of the given Image. This is the lowest *	valid X value. * * imGetYBase returns the Y base of the given Image. This is the lowest *	valid Y value. * * imGetXMax returns the highest valid X value of an Image. This is equal to *	imGetXBase(im)+imGetWidth(im)-1. * * imGetYMax returns the highest valid Y value of an Image. This is equal to *	imGetYBase(im)+imGetHeight(im)-1. * * imGetType returns the ImageType of the given Image. * * imGetComment returns the comment associated with the Image, or NULL if *	there is none. This is the comment which was present in the file *	from which the image was loaded, if any, or a comment associated *	with the image later using imSetComment. Note that the memory *	pointed at by this pointer is owned by the Image module, and should *	not be freed; it will remain valid until the Image is freed, or the *	comment is changed. * * imSetComment assigns the given string as the comment of the given Image. *	It returns TRUE if it is successful, FALSE if it is not. It makes *	a copy of the string; the original string is not referred to after *	this, and may be freed or altered without affecting the Image's *	comment. You can pass in NULL as the new comment. If the comment *	could not be changed (i.e. FALSE is returned), then the old comment *	remains. * * imRef gives access to an entry in an Image of some form (it works *	for all defined forms of Image). It gives an lvalue: it is valid *	to say imRef(i, x, y) = foo; * * The PixPtr types allow efficient access to contiguous regions of an Image. * You get a PixPtr by calling imGetPixPtr, giving the location in the image * you would like a handle on. You can then dereference this using * imPtrRef. imRef(im, x, y) gives the same value as * imPtrRef(imGetPixPtr(im, x, y)); note that this is an lvalue and may be * assigned to. * The advantage of PixPtrs is that they can be efficiently moved through * the image array. For example, if im is a GrayImage: * for (x = 0; x < w; x++) { *     imRef(im, x, y) = 123; *     } * can be replaced by: * GrayPixPtr pp; * pp = imGetPixPtr(im, 0, y); * for (x = 0; x < w; x++) { *     imPtrRef(im, pp) = 123; *     imPtrRight(im, pp); *     } * which may run more efficiently. * * imGetPixPtr gets a handle on the (x,y) pixel in the image im, giving a *	PixPtr of the appropriate type. * * imPtrRef dereferences a PixPtr of some type, giving an lvalue of the *	appropriate type. * * imPtrDup duplicates a PixPtr of some type, returning a PixPtr of the same *	type, initially referring to the same location in the image. * * imPtrUp, imPtrDown, imPtrLeft and imPtrRight move a PixPtr through an *	Image. imPtrUp effectively decrements the y component of the pixel

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区在线电影| 色婷婷一区二区| 在线观看国产一区二区| 日韩午夜在线影院| 亚洲美女精品一区| 风间由美一区二区av101| 欧美三级韩国三级日本一级| 久久精品亚洲麻豆av一区二区| 一区二区三区在线观看网站| 国产成人精品影视| 欧美一级二级三级乱码| 亚洲综合视频在线观看| 国产激情视频一区二区三区欧美| 欧美日韩亚洲综合一区| 亚洲欧美激情插| 风间由美一区二区三区在线观看 | 7777精品伊人久久久大香线蕉| 久久精品一区二区三区不卡牛牛 | 九九精品视频在线看| 91国产福利在线| 中文在线免费一区三区高中清不卡| 亚洲国产一区二区三区青草影视| 成人免费看的视频| 国产午夜精品福利| 精品一区二区三区不卡 | 婷婷久久综合九色综合绿巨人| 99久精品国产| ㊣最新国产の精品bt伙计久久| 美脚の诱脚舐め脚责91| 91麻豆精品国产综合久久久久久| 亚洲线精品一区二区三区八戒| 99精品视频一区二区| 国产日韩精品一区| 成人精品在线视频观看| 国产欧美一区二区精品秋霞影院| 激情六月婷婷综合| 欧美精品一区二区三区很污很色的| 日本v片在线高清不卡在线观看| 欧美视频中文字幕| 亚洲成人动漫在线观看| 欧美日韩一区二区在线观看视频| 亚洲国产日韩一级| 欧美三级电影网| 婷婷成人综合网| 日韩欧美中文字幕制服| 美女任你摸久久| 国产亚洲精品免费| 91小视频在线观看| 一区二区三区精密机械公司| 欧美日韩高清在线播放| 美女视频免费一区| 国产婷婷精品av在线| 99精品国产热久久91蜜凸| 亚洲一区二区影院| 欧美一区二区大片| 国产高清在线精品| 亚洲激情综合网| 日韩亚洲欧美综合| 成人一级片网址| 亚洲图片一区二区| 精品国产一区二区三区四区四 | 99久久er热在这里只有精品15| 国产拍欧美日韩视频二区| eeuss鲁片一区二区三区在线看| **性色生活片久久毛片| 欧美肥妇bbw| 国产一区二区三区日韩| 国产精品乱码一区二三区小蝌蚪| 在线视频国内自拍亚洲视频| 偷拍自拍另类欧美| 国产精品污污网站在线观看 | 成人av网站在线观看免费| 亚洲小少妇裸体bbw| 精品入口麻豆88视频| 91偷拍与自偷拍精品| 三级欧美韩日大片在线看| 国产视频视频一区| 欧美日韩不卡在线| 不卡的av中国片| 蜜桃精品视频在线观看| 亚洲婷婷在线视频| 精品免费国产一区二区三区四区| 成人aa视频在线观看| 全国精品久久少妇| 亚洲美女视频一区| 国产色爱av资源综合区| 欧美欧美午夜aⅴ在线观看| 粉嫩绯色av一区二区在线观看| 一区二区三区四区不卡在线 | 久草中文综合在线| 亚洲一二三区视频在线观看| 中文字幕高清不卡| 久久网站最新地址| 91精品国产色综合久久不卡蜜臀| 91理论电影在线观看| 国产91清纯白嫩初高中在线观看 | 成人免费高清在线观看| 久久99精品国产.久久久久| 亚洲精品菠萝久久久久久久| 久久精品视频免费| 日韩精品最新网址| 91精品国产综合久久久久| 在线观看亚洲一区| 95精品视频在线| 不卡一区中文字幕| 成人精品鲁一区一区二区| 国产精品中文有码| 精彩视频一区二区三区| 人人狠狠综合久久亚洲| 亚洲一区二区三区影院| 亚洲精品视频在线| 国产精品夫妻自拍| 亚洲欧洲一区二区在线播放| 国产欧美综合在线观看第十页| 精品99999| 精品乱人伦小说| 精品国免费一区二区三区| 日韩一区二区三| 91精品国产综合久久福利| 51精品国自产在线| 91精品国产欧美日韩| 日韩午夜激情av| 日韩精品在线看片z| 欧美videos中文字幕| 精品1区2区在线观看| 久久久久国色av免费看影院| 国产欧美一区二区三区网站 | 欧美一级搡bbbb搡bbbb| 3d动漫精品啪啪| 欧美va日韩va| 国产亚洲成av人在线观看导航| 中文字幕精品综合| 亚洲综合色噜噜狠狠| 日韩极品在线观看| 久久激情五月婷婷| 成人高清免费观看| 欧美在线|欧美| 精品国产免费一区二区三区香蕉| 久久久久久久综合日本| 亚洲欧洲国产日韩| 五月婷婷欧美视频| 国产精品一区二区你懂的| 99久久精品国产麻豆演员表| 欧美日精品一区视频| 精品美女一区二区| 国产精品九色蝌蚪自拍| 日韩中文字幕区一区有砖一区 | 一区二区理论电影在线观看| 男男gaygay亚洲| 成人动漫在线一区| 777久久久精品| 国产精品免费网站在线观看| 亚洲成人黄色影院| 国产91精品精华液一区二区三区 | 亚洲成人av电影在线| 久久不见久久见免费视频1| a亚洲天堂av| 欧美一卡二卡三卡四卡| 亚洲日本青草视频在线怡红院| 日韩vs国产vs欧美| 99v久久综合狠狠综合久久| 欧美一区二区三区性视频| 国产精品第一页第二页第三页| 日产精品久久久久久久性色| 波多野结衣91| 日韩一级大片在线观看| 亚洲婷婷国产精品电影人久久| 精品一区二区三区在线视频| 91成人免费在线视频| 久久精品一区二区三区不卡牛牛| 亚洲123区在线观看| 99国内精品久久| 亚洲精品在线免费播放| 亚洲午夜日本在线观看| 成人午夜电影小说| 日韩免费福利电影在线观看| 亚洲综合在线观看视频| 成人av影院在线| 国产视频一区二区三区在线观看| 日av在线不卡| 欧美精品在线观看播放| 亚洲精品国产成人久久av盗摄| 国产91精品在线观看| www国产精品av| 免费成人在线播放| 69av一区二区三区| 午夜国产精品一区| 欧洲在线/亚洲| 亚洲免费观看高清完整版在线观看 | 精品成人免费观看| 日本美女一区二区| 欧美日韩一区二区在线视频| 亚洲精品成人悠悠色影视| av在线不卡观看免费观看| 欧美经典一区二区三区| 国产真实乱对白精彩久久| 精品久久久久香蕉网| 麻豆精品视频在线| 日韩精品一区二区三区swag| 裸体健美xxxx欧美裸体表演|