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

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

?? image.hpp

?? Gaussian Mixture Algorithm
?? HPP
?? 第 1 頁 / 共 2 頁
字號:
/*************************************************************************** *   Copyright (C) 2008 by Yann LeCun and Pierre Sermanet * *   yann@cs.nyu.edu, pierre.sermanet@gmail.com * * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: *     * Redistributions of source code must retain the above copyright *       notice, this list of conditions and the following disclaimer. *     * Redistributions in binary form must reproduce the above copyright *       notice, this list of conditions and the following disclaimer in the *       documentation and/or other materials provided with the distribution. *     * Redistribution under a license not approved by the Open Source *       Initiative (http://www.opensource.org) must display the *       following acknowledgement in all advertising material: *        This product includes software developed at the Courant *        Institute of Mathematical Sciences (http://cims.nyu.edu). *     * The names of the authors may not be used to endorse or promote products *       derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL ThE AUTHORS BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/#ifndef IMAGE_HPP_#define IMAGE_HPP_#include <algorithm>#include <math.h>using namespace std;#define BLK_AVRG(nlin, ncol) {\  int k,l; int norm = ncol * nlin;\  int acc0=0, acc1=0, acc2=0;\  for (k=0; k<nlin; k++) {\  register T *pinptr = pin+k*in_mod0;\  for (l=0; l<ncol; l++) {\  acc0 += pinptr[0];acc1 += pinptr[1];acc2 += pinptr[2];\  pinptr += in_mod1; }}\  pout[0] = acc0 / norm;pout[1] = acc1 / norm;pout[2] = acc2 / norm;}namespace ebl {template<class T> Idx<T> image_crop(Idx<T> &in, int x, int y, int w, int h){	Idx<T> bla = in.narrow(0, h, y).narrow(1, w, x);	Idx<T> bla3(bla.dim(0), bla.dim(1), bla.order() < 3 ? -1 : bla.dim(2));	idx_copy(bla, bla3);	return bla3;}template<class T> Idx<T> image_resize(Idx<T> &image, double w, double h, int mode) {	Idx<T> im(image);	if (im.order() < 2) ylerror("image must have at least an order of 2.");	intg imw = im.dim(1);	intg imh = im.dim(0);	int rw = 0;	int rh = 0;	// determine actual size of output image	if ((0 == w) || (0 == h)) {		if (0 == w) {		  if (0 == h) {		  	ylerror("desired width and height cannot be both zero");		  } else {		  	w = max(1, (int) (imw * (h / imh)));		  }		} else h = max(1, (int) (imh * (w / imw)));	}	else if (mode == 0) {		double r = min(w / imw, h / imh);		w = max(1, (int) (r * imw));    h = max(1, (int) (r * imh));	}	else if (mode == 1) {		w = max(1, (int) w);		h = max(1, (int) h);	}	else if (mode == 2) {		w = max(1, (int) (w * imw));		h = max(1, (int) (h * imh));	}	else ylerror("image_resize: illegal mode or desired dimensions");	// compute closest integer subsampling ratio	rw = (int) imw / w;	rh = (int) imh / h;	// subsample by integer ratio if necessary	if ((0 != rh) || (0 != rw)) {		im = image_subsample(im, rh, rw);		imw = im.dim(1);		imh = im.dim(0);	}	// resample from subsampled image with bilinear interpolation	Idx<T> rez(h, w, (im.order() == 3) ? im.dim(2) : 1);	Idx<T> bg(4);	idx_clear(bg);	// the 0.5 thingies are necessary because warp-bilin interprets	// integer coordinates as beiing at the center of each pixel.	float x1 = -0.5, y1 = -0.5, x3 = imw - 0.5, y3 = imh - 0.5;	float p1 = -0.5, q1 = -0.5, p3 = w - 0.5, q3 = h - 0.5;	image_warp_quad(im, rez, bg, 1, x1, y1, x3, y1, x3, y3, x1, y3, p1, q1, p3, q3);	if (im.order() == 2)		return rez.select(2, 0);	return rez;}template<class T> Idx<T> image_subsample_grayscale(Idx<T> &in, int nlin, int ncol) {	intg h = in.dim(0);	intg w = in.dim(1);	intg nh = h / nlin;	intg nw = w / ncol;	Idx<T> out(nh, nw);	if ((nlin == 1) && (ncol == 1)) {		idx_copy(in, out);		return out;	}	Idx<T> inp = in.narrow(0, nlin * nh, 0);	inp = inp.narrow(1, ncol * nw, 0);	T *_idx2loopc1, *pin;	T *_idx2loopc2, *pout;	int i, _imax = out.dim(0);	int j, _jmax = out.dim(1);	int _imat1_m0 = inp.mod(0);	int _imat1_m1 = inp.mod(1);	int _imat2_m0 = out.mod(0);	int _imat2_m1 = out.mod(1);	int pin_incr = ncol * _imat1_m1;	int norm = ncol * nlin;	register int acc0;	register int k,l;	register T *pinptr;	register int pinptr_incr = _imat1_m0 - ncol* _imat1_m1;	_idx2loopc1 = inp.idx_ptr();	_idx2loopc2 = out.idx_ptr();	for (i = 0; i < _imax; i++) {		pin = _idx2loopc1;		pout = _idx2loopc2;		for (j = 0; j < _jmax; j++) {			acc0 =0;			pinptr = pin;			for (k=0; k<nlin; k++) {				for (l=0; l<ncol; l++) {					acc0 += pinptr[0];					pinptr += _imat1_m1;				}				pinptr += pinptr_incr;			}			pout[0] = acc0/norm;			pin += pin_incr;			pout += _imat2_m1;		}		_idx2loopc1 += _imat1_m0 * nlin;		_idx2loopc2 += _imat2_m0;	}	return out;}template<class T> Idx<T> image_subsample_rgb(Idx<T> &in, int nlin, int ncol) {	intg h = in.dim(0);	intg w = in.dim(1);	intg nh = h / nlin;	intg nw = w / ncol;	Idx<T> out(nh, nw, in.dim(2));	if ((nlin == 1) && (ncol == 1)) {		idx_copy(in, out);		return out;	}	Idx<T> inp = in.narrow(0, nlin * nh, 0).narrow(1, ncol * nw, 0);	T *in_line, *pin;	T *out_line, *pout;	int i, _imax = out.dim(0);	int j, _jmax = out.dim(1);	int in_mod0 = inp.mod(0);	int in_mod1 = inp.mod(1);	int out_mod0 = out.mod(0);	int out_mod1 = out.mod(1);	int pin_incr = ncol * in_mod1;	in_line = inp.idx_ptr();	out_line = out.idx_ptr();	for (i = 0; i < _imax; i++) {		pin = in_line;		pout = out_line;		for (j = 0; j < _jmax; j++) {			BLK_AVRG(nlin, ncol);			pin += pin_incr;			pout += out_mod1;		}		in_line += in_mod0 * nlin;		out_line += out_mod0;	}	return out;}template<class T> Idx<T> image_subsample(Idx<T> &in, int nlin, int ncol) {	switch (in.order()) {	case 2:		return image_subsample_grayscale(in, nlin, ncol);  case 3:		return image_subsample_rgb(in, nlin, ncol);  default:  	ylerror("image must have at least an order of 2.");  	return in;	}}template<class T> void image_warp_quad(Idx<T> &in, Idx<T> &out,		Idx<T> &background, int mode,		float x1, float y1, float x2, float y2, float x3, float y3,		float x4, float y4, float p1, float q1, float p3, float q3) {  intg outi = out.dim(0);  intg outj = out.dim(1);  Idx<int> dispi(outi, outj);  Idx<int> dispj(outi, outj);  compute_bilin_transform<float>(dispi, dispj, x1, y1, x2, y2, x3, y3,  		x4, y4, p1, q1, p3, q3);  if (0 == mode)	  image_warp_fast(in, out, background.idx_ptr(), dispi, dispj);  else	  image_warp(in, out, background, dispi, dispj);}template<class T> void image_warp(Idx<T> &in, Idx<T> &out, Idx<T> &background,		Idx<int> &pi, Idx<int> &pj) {  T* pin = in.idx_ptr();  int indimi = in.dim(0);  int indimj = in.dim(1);  int inmodi = in.mod(0);  int inmodj = in.mod(1);  int ppi, ppj;  { idx_bloop3(lout, out, T, lpi, pi, int, lpj, pj, int) {  	{ idx_bloop3(llout, lout, T, llpi, lpi, int, llpj, lpj, int) {  		ppi = llpi.get();  		ppj = llpj.get();      image_interpolate_bilin(background.idx_ptr(), pin, indimi, indimj,      		inmodi, inmodj, ppi, ppj, llout->idx_ptr(), (int) out.dim(2));  	}}  }}}template<class T> void image_warp_fast(Idx<T> &in, Idx<T> &out, T *background,		Idx<int> &pi, Idx<int> &pj) {	  T* pin = in.idx_ptr();	  int indimi = in.dim(0);	  int indimj = in.dim(1);	  int inmodi = in.mod(0);	  int inmodj = in.mod(1);	  int ppi, ppj;	  register int li, lj;	  register T *inn, *outt;	  int outsize = out.dim(2);	  { idx_bloop3(lout, out, T, lpi, pi, int, lpj, pj, int) {	  	{ idx_bloop3(llout, lout, T, llpi, lpi, int, llpj, lpj, int) {	  		outt = llout->idx_ptr();	  		ppi = llpi.get();	  		ppj = llpj.get();  		  li = (ppi+0x7f) >> 16;  		  lj = (ppj+0x7f) >> 16;  		  if ((li>=0) && (li<indimi) && (lj>=0) && (lj<indimj)) {  		  	inn = (T*)(pin) + inmodi * li + inmodj * lj;  		  	outt[0] = inn[0];  		  	if (outsize >= 3) {  		  		outt[1] = inn[1];  		  		outt[2] = inn[2];  		  	}  		  	if (outsize >= 4)  		  		outt[3] = inn[3];  		  } else {  		  	outt[0] = *(background);  		  	if (outsize >= 3) {  		  		outt[1] = *(background+1);  		  		outt[2] = *(background+2);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av电影在线播放| 欧美日韩国产高清一区二区三区| 国产盗摄视频一区二区三区| 激情小说亚洲一区| 国产美女在线精品| 国产成人精品综合在线观看| 不卡高清视频专区| 91无套直看片红桃| 成人av影院在线| 91久久精品网| 欧美人体做爰大胆视频| 日韩欧美国产三级| 国产精品三级视频| 婷婷综合另类小说色区| 国产一区二区电影| 色婷婷久久久亚洲一区二区三区| 欧洲一区二区三区在线| 精品捆绑美女sm三区| 中文字幕一区二区三区在线不卡 | 亚洲欧美日韩久久精品| 午夜精品在线视频一区| 成人午夜精品一区二区三区| 欧美日韩视频第一区| 国产欧美日韩综合| 午夜精品福利在线| 91麻豆福利精品推荐| 亚洲精品在线观看视频| 亚洲免费观看高清完整版在线观看| 一区二区三区成人| 99久久婷婷国产综合精品电影| 91精品国产欧美一区二区成人| 国产精品久99| 国产在线看一区| 欧美精品tushy高清| 亚洲自拍偷拍图区| av电影天堂一区二区在线观看| 精品国免费一区二区三区| 香蕉乱码成人久久天堂爱免费| 成人av在线网| 精品人在线二区三区| 亚洲电影一级黄| 欧美精品乱码久久久久久 | 色综合久久久网| 国产精品嫩草影院com| 国产一区二区三区免费| 欧美电影免费观看高清完整版| 亚洲国产视频直播| 欧美日韩极品在线观看一区| 亚洲一区二区三区小说| 色综合夜色一区| 亚洲午夜久久久久久久久电影院| 91老师片黄在线观看| 专区另类欧美日韩| 在线观看视频91| 性感美女久久精品| 欧美成人午夜电影| 久久成人精品无人区| 欧美国产一区视频在线观看| 成人综合在线观看| 一区二区三区在线视频免费| 中文字幕一区在线观看视频| 国产激情一区二区三区| 国产精品全国免费观看高清| av在线这里只有精品| 午夜电影一区二区三区| www国产精品av| 色综合久久中文字幕| 免费观看一级欧美片| 国产校园另类小说区| 一本高清dvd不卡在线观看| 蜜桃精品视频在线| 亚洲视频 欧洲视频| 欧美一区二视频| 成人免费精品视频| 五月天激情综合网| 国产精品成人免费精品自在线观看 | 不卡一区二区三区四区| 日韩精品1区2区3区| 亚洲欧洲一区二区在线播放| 色呦呦国产精品| 亚洲国产日韩a在线播放性色| 久久久亚洲高清| 91麻豆福利精品推荐| 国产福利精品导航| 日韩不卡一区二区三区| 中文在线一区二区| 精品少妇一区二区三区日产乱码| 色狠狠一区二区| 国产白丝网站精品污在线入口| 人禽交欧美网站| 夜夜嗨av一区二区三区 | 亚洲国产日产av| 亚洲激情在线播放| 中文字幕一区二区视频| 久久久久久久网| 日韩欧美美女一区二区三区| 欧美精品电影在线播放| 色女孩综合影院| 国产乱国产乱300精品| 青青草伊人久久| 日韩国产成人精品| 天天av天天翘天天综合网| 亚洲一区二区三区四区五区中文| 中文字幕在线一区二区三区| 国产精品福利一区| 国产精品白丝在线| 亚洲精品成人a在线观看| 亚洲欧洲无码一区二区三区| 中文字幕日韩一区| 亚洲欧美日韩一区| 日日夜夜一区二区| 久久精品国产亚洲高清剧情介绍| 精品在线免费视频| 国产高清精品网站| 91免费视频观看| 欧美日韩久久久| 久久精品网站免费观看| 国产精品网站导航| 亚洲韩国精品一区| 喷水一区二区三区| 国产一区二区三区不卡在线观看| 国产91丝袜在线播放九色| 91激情五月电影| 欧美一二三四在线| 欧美中文字幕亚洲一区二区va在线| 成人久久18免费网站麻豆 | 在线观看国产91| 欧美成人精品二区三区99精品| 国产精品麻豆久久久| 秋霞影院一区二区| 一本大道久久a久久精品综合| 日韩你懂的电影在线观看| 成人免费一区二区三区视频| 奇米一区二区三区av| 色香色香欲天天天影视综合网| 日韩写真欧美这视频| 韩国女主播成人在线| 一本到不卡精品视频在线观看| 精品国产麻豆免费人成网站| 一级中文字幕一区二区| 风间由美一区二区三区在线观看| 日韩视频一区在线观看| 亚洲另类在线制服丝袜| 成人动漫在线一区| 久久久久久免费| 国产永久精品大片wwwapp| 欧美精品1区2区3区| 亚洲va韩国va欧美va精品| 91蜜桃在线免费视频| 日韩一区中文字幕| 高清不卡一区二区在线| 精品成人一区二区三区四区| 蜜桃精品视频在线观看| 日韩午夜激情视频| 免费成人深夜小野草| 日韩午夜电影在线观看| 日本免费在线视频不卡一不卡二| 欧美另类z0zxhd电影| 亚洲高清在线视频| 欧美精品1区2区3区| 另类成人小视频在线| 国产日韩在线不卡| 成人午夜伦理影院| 亚洲视频在线观看一区| 色八戒一区二区三区| 午夜av区久久| 欧美精品一区二区蜜臀亚洲| 国产一区欧美二区| 成人欧美一区二区三区视频网页| 91在线免费播放| 亚洲gay无套男同| 一本色道久久综合亚洲aⅴ蜜桃| 国产日韩精品一区| 色婷婷综合五月| 蜜桃av噜噜一区二区三区小说| 精品国产三级电影在线观看| 国产成人丝袜美腿| 亚洲激情图片小说视频| 91精品国产高清一区二区三区| 国产一区激情在线| 国产精品国产自产拍在线| 欧美一区二区三区免费大片| 国产在线国偷精品产拍免费yy| 日韩伦理电影网| 中文字幕欧美国产| 久久精品国产77777蜜臀| 国产精品免费观看视频| 4438x成人网最大色成网站| 国产99一区视频免费| 日本强好片久久久久久aaa| 亚洲一区二区三区国产| 国产伦精品一区二区三区在线观看| 色94色欧美sute亚洲线路一ni| 欧美激情一区不卡| 国产精品一级片在线观看| 精品成人免费观看| 久久国产三级精品| 久久综合九色综合97婷婷 | 欧美日韩不卡一区| 亚洲国产精品久久一线不卡|