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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? integral_line.h

?? this a image processing program
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*-----------------------------------------------------------------------------  File        : integral_line.h  Description : This CImg plug-in defines function to track integral lines.  Copyright   : David Tschumperle - http://www.greyc.ensicaen.fr/~dtschump/  License     : CeCILL  This software is governed by the CeCILL  license under French law and  abiding by the rules of distribution of free software.  You can  use,  modify and/ or redistribute the software under the terms of the CeCILL  license as circulated by CEA, CNRS and INRIA at the following URL  "http://www.cecill.info".  As a counterpart to the access to the source code and  rights to copy,  modify and redistribute granted by the license, users are provided only  with a limited warranty  and the software's author,  the holder of the  economic rights,  and the successive licensors  have only  limited  liability.  In this respect, the user's attention is drawn to the risks associated  with loading,  using,  modifying and/or developing or reproducing the  software by the user in light of its specific status of free software,  that may mean  that it is complicated to manipulate,  and  that  also  therefore means  that it is reserved for developers  and  experienced  professionals having in-depth computer knowledge. Users are therefore  encouraged to load and test the software's suitability as regards their  requirements in conditions enabling the security of their systems and/or  data to be ensured and,  more generally, to use and operate it in the  same conditions as regards security.  The fact that you are presently reading this means that you have had  knowledge of the CeCILL license and that you accept its terms.  ------------------------------------------------------------------------------*/#ifndef cimg_plugin_integral_line#define cimg_plugin_integral_line#define pcimg_valign2d(i,j) \    { restype &u = W(i,j,0,0), &v = W(i,j,0,1); \    if (u*curru + v*currv<0) { u=-u; v=-v; }}#define pcimg_valign3d(i,j,k) \    { restype &u = W(i,j,k,0), &v = W(i,j,k,1), &w = W(i,j,k,2); \    if (u*curru + v*currv + w*currw<0) { u=-u; v=-v; w=-w; }}CImgList<typename cimg::largest<float,T>::type> get_integral_line(const float x, const float y, const float z=0, const float L=1000,                                                                  const float dl=0.5f, const unsigned int interpolation=3) const {  typedef typename cimg::largest<float,T>::type restype;  CImgList<restype> tracking;  CImg<restype> W = (*this)*dl;  const unsigned int    dx1 = width-1,    dy1 = height-1;  const float    L2 = L/2,    cu = (float)(dl*W((int)x,(int)y,(int)z,0)),    cv = (float)(dl*W((int)x,(int)y,(int)z,1));  float    pu = cu,    pv = cv,    X = x,    Y = y;  // 3D integral lines  //-------------------  switch (W.dimv()) {  case 3: {    const unsigned int      dz1 = depth-1;    const float      cw = (float)(dl*W((int)x,(int)y,(int)z,2));    float      pw = cw,      Z = z;    switch (interpolation) {    case 0: { // Nearest neighbor      for (float l=0; l<L2 && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {        tracking.insert(CImg<restype>::vector(X,Y,Z));        const int          cx = (int)(X+0.5f),          cy = (int)(Y+0.5f),          cz = (int)(Z+0.5f);        float          u = (float)(dl*W(cx,cy,cz,0)),          v = (float)(dl*W(cx,cy,cz,1)),          w = (float)(dl*W(cx,cy,cz,2));        if ((pu*u + pv*v + pw*w)<0) { u=-u; v=-v; w=-w; }        X+=(pu=u); Y+=(pv=v); Z+=(pw=w);      }      pu = cu;      pv = cv;      pw = cw;      X  = x;      Y  = y;      Z  = z;      for (float l=0; l<L2 && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {        const int          cx = (int)(X+0.5f),          cy = (int)(Y+0.5f),          cz = (int)(Z+0.5f);        float          u = (float)(dl*W(cx,cy,cz,0)),          v = (float)(dl*W(cx,cy,cz,1)),          w = (float)(dl*W(cx,cy,cz,2));        if ((pu*u + pv*v + pw*w)<0) { u=-u; v=-v; w=-w; }        X-=(pu=u); Y-=(pv=v); Z-=(pw=w);        tracking.insert(CImg<restype>::vector(X,Y,Z),0);      }    } break;    case 1: { // Linear      for (float l=0; l<L2 && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {        tracking.insert(CImg<restype>::vector(X,Y,Z));        const int          cx = (int)X, px = (cx-1<0)?0:cx-1, nx = (cx+1>dx1)?dx1:cx+1,          cy = (int)Y, py = (cy-1<0)?0:cy-1, ny = (cy+1>dy1)?dy1:cy+1,          cz = (int)Z, pz = (cz-1<0)?0:cz-1, nz = (cz+1>dz1)?dz1:cz+1;        const float          curru = (float)W(cx,cy,cz,0),          currv = (float)W(cx,cy,cz,1),          currw = (float)W(cx,cy,cz,2);        pcimg_valign3d(px,py,pz); pcimg_valign3d(cx,py,pz); pcimg_valign3d(nx,py,pz);        pcimg_valign3d(px,cy,pz); pcimg_valign3d(cx,cy,pz); pcimg_valign3d(nx,cy,pz);        pcimg_valign3d(px,ny,pz); pcimg_valign3d(cx,ny,pz); pcimg_valign3d(nx,ny,pz);        pcimg_valign3d(px,py,cz); pcimg_valign3d(cx,py,cz); pcimg_valign3d(nx,py,cz);        pcimg_valign3d(px,cy,cz);                           pcimg_valign3d(nx,cy,cz);        pcimg_valign3d(px,ny,cz); pcimg_valign3d(cx,ny,cz); pcimg_valign3d(nx,ny,cz);        pcimg_valign3d(px,py,nz); pcimg_valign3d(cx,py,nz); pcimg_valign3d(nx,py,nz);        pcimg_valign3d(px,cy,nz); pcimg_valign3d(cx,cy,nz); pcimg_valign3d(nx,cy,nz);        pcimg_valign3d(px,ny,nz); pcimg_valign3d(cx,ny,nz); pcimg_valign3d(nx,ny,nz);        float          u = (float)(dl*W.linear_pix3d(X,Y,Z,0)),          v = (float)(dl*W.linear_pix3d(X,Y,Z,1)),          w = (float)(dl*W.linear_pix3d(X,Y,Z,2));        if ((pu*u + pv*v + pw*w)<0) { u=-u; v=-v; w=-w; }        X+=(pu=u); Y+=(pv=v); Z+=(pw=w);      }      pu = cu;      pv = cv;      pw = cw;      X  = x;      Y  = y;      Z  = z;      for (float l=0; l<L2 && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {        const int          cx = (int)X, px = (cx-1<0)?0:cx-1, nx = (cx+1>dx1)?dx1:cx+1,          cy = (int)Y, py = (cy-1<0)?0:cy-1, ny = (cy+1>dy1)?dy1:cy+1,          cz = (int)Z, pz = (cz-1<0)?0:cz-1, nz = (cz+1>dz1)?dz1:cz+1;        const float          curru = (float)W(cx,cy,cz,0),          currv = (float)W(cx,cy,cz,1),          currw = (float)W(cx,cy,cz,2);        pcimg_valign3d(px,py,pz); pcimg_valign3d(cx,py,pz); pcimg_valign3d(nx,py,pz);        pcimg_valign3d(px,cy,pz); pcimg_valign3d(cx,cy,pz); pcimg_valign3d(nx,cy,pz);        pcimg_valign3d(px,ny,pz); pcimg_valign3d(cx,ny,pz); pcimg_valign3d(nx,ny,pz);        pcimg_valign3d(px,py,cz); pcimg_valign3d(cx,py,cz); pcimg_valign3d(nx,py,cz);        pcimg_valign3d(px,cy,cz);                           pcimg_valign3d(nx,cy,cz);        pcimg_valign3d(px,ny,cz); pcimg_valign3d(cx,ny,cz); pcimg_valign3d(nx,ny,cz);        pcimg_valign3d(px,py,nz); pcimg_valign3d(cx,py,nz); pcimg_valign3d(nx,py,nz);        pcimg_valign3d(px,cy,nz); pcimg_valign3d(cx,cy,nz); pcimg_valign3d(nx,cy,nz);        pcimg_valign3d(px,ny,nz); pcimg_valign3d(cx,ny,nz); pcimg_valign3d(nx,ny,nz);        float          u = (float)(dl*W.linear_pix3d(X,Y,Z,0)),          v = (float)(dl*W.linear_pix3d(X,Y,Z,1)),          w = (float)(dl*W.linear_pix3d(X,Y,Z,2));        if ((pu*u+pv*v+pw*w)<0) { u=-u; v=-v; w=-w; }        X-=(pu=u); Y-=(pv=v); Z-=(pw=w);        tracking.insert(CImg<restype>::vector(X,Y,Z),0);      }    } break;    case 2: { // 2nd order Runge Kutta      for (float l=0; l<L2 && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {        tracking.insert(CImg<restype>::vector(X,Y,Z));        const int          cx = (int)X, px = (cx-1<0)?0:cx-1, nx = (cx+1>dx1)?dx1:cx+1,          cy = (int)Y, py = (cy-1<0)?0:cy-1, ny = (cy+1>dy1)?dy1:cy+1,          cz = (int)Z, pz = (cz-1<0)?0:cz-1, nz = (cz+1>dz1)?dz1:cz+1;        const float          curru = (float)W(cx,cy,cz,0),          currv = (float)W(cx,cy,cz,1),          currw = (float)W(cx,cy,cz,2);        pcimg_valign3d(px,py,pz); pcimg_valign3d(cx,py,pz); pcimg_valign3d(nx,py,pz);        pcimg_valign3d(px,cy,pz); pcimg_valign3d(cx,cy,pz); pcimg_valign3d(nx,cy,pz);        pcimg_valign3d(px,ny,pz); pcimg_valign3d(cx,ny,pz); pcimg_valign3d(nx,ny,pz);        pcimg_valign3d(px,py,cz); pcimg_valign3d(cx,py,cz); pcimg_valign3d(nx,py,cz);        pcimg_valign3d(px,cy,cz);                           pcimg_valign3d(nx,cy,cz);        pcimg_valign3d(px,ny,cz); pcimg_valign3d(cx,ny,cz); pcimg_valign3d(nx,ny,cz);        pcimg_valign3d(px,py,nz); pcimg_valign3d(cx,py,nz); pcimg_valign3d(nx,py,nz);        pcimg_valign3d(px,cy,nz); pcimg_valign3d(cx,cy,nz); pcimg_valign3d(nx,cy,nz);        pcimg_valign3d(px,ny,nz); pcimg_valign3d(cx,ny,nz); pcimg_valign3d(nx,ny,nz);        const float          u0 = (float)(0.5f*dl*W.linear_pix3d(X,Y,Z,0)),          v0 = (float)(0.5f*dl*W.linear_pix3d(X,Y,Z,1)),          w0 = (float)(0.5f*dl*W.linear_pix3d(X,Y,Z,2));        float          u = (float)(dl*W.linear_pix3d(X+u0,Y+v0,Z+w0,0)),          v = (float)(dl*W.linear_pix3d(X+u0,Y+v0,Z+w0,1)),          w = (float)(dl*W.linear_pix3d(X+u0,Y+v0,Z+w0,2));        if ((pu*u+pv*v+pw*w)<0) { u=-u; v=-v; w=-w; }        X+=(pu=u); Y+=(pv=v); Z+=(pw=w);      }      pu = cu;      pv = cv;      pw = cw;      X  = x;      Y  = y;      Z  = z;      for (float l=0; l<L2 && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {        const int          cx = (int)X, px = (cx-1<0)?0:cx-1, nx = (cx+1>dx1)?dx1:cx+1,          cy = (int)Y, py = (cy-1<0)?0:cy-1, ny = (cy+1>dy1)?dy1:cy+1,          cz = (int)Z, pz = (cz-1<0)?0:cz-1, nz = (cz+1>dz1)?dz1:cz+1;        const float          curru = (float)W(cx,cy,cz,0),          currv = (float)W(cx,cy,cz,1),          currw = (float)W(cx,cy,cz,2);        pcimg_valign3d(px,py,pz); pcimg_valign3d(cx,py,pz); pcimg_valign3d(nx,py,pz);        pcimg_valign3d(px,cy,pz); pcimg_valign3d(cx,cy,pz); pcimg_valign3d(nx,cy,pz);        pcimg_valign3d(px,ny,pz); pcimg_valign3d(cx,ny,pz); pcimg_valign3d(nx,ny,pz);        pcimg_valign3d(px,py,cz); pcimg_valign3d(cx,py,cz); pcimg_valign3d(nx,py,cz);        pcimg_valign3d(px,cy,cz);                           pcimg_valign3d(nx,cy,cz);        pcimg_valign3d(px,ny,cz); pcimg_valign3d(cx,ny,cz); pcimg_valign3d(nx,ny,cz);        pcimg_valign3d(px,py,nz); pcimg_valign3d(cx,py,nz); pcimg_valign3d(nx,py,nz);        pcimg_valign3d(px,cy,nz); pcimg_valign3d(cx,cy,nz); pcimg_valign3d(nx,cy,nz);        pcimg_valign3d(px,ny,nz); pcimg_valign3d(cx,ny,nz); pcimg_valign3d(nx,ny,nz);        const float          u0 = (float)(0.5f*dl*W.linear_pix3d(X,Y,Z,0)),          v0 = (float)(0.5f*dl*W.linear_pix3d(X,Y,Z,1)),          w0 = (float)(0.5f*dl*W.linear_pix3d(X,Y,Z,2));        float          u = (float)(dl*W.linear_pix3d(X+u0,Y+v0,Z+w0,0)),          v = (float)(dl*W.linear_pix3d(X+u0,Y+v0,Z+w0,1)),          w = (float)(dl*W.linear_pix3d(X+u0,Y+v0,Z+w0,2));        if ((pu*u+pv*v+pw*w)<0) { u=-u; v=-v; w=-w; }        X-=(pu=u); Y-=(pv=v); Z-=(pw=w);        tracking.insert(CImg<restype>::vector(X,Y,Z),0);      }    } break;    case 3: {  // 4nd order Runge Kutta      for (float l=0; l<L2 && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {        tracking.insert(CImg<restype>::vector(X,Y,Z));        const int          cx = (int)X, px = (cx-1<0)?0:cx-1, nx = (cx+1>dx1)?dx1:cx+1,          cy = (int)Y, py = (cy-1<0)?0:cy-1, ny = (cy+1>dy1)?dy1:cy+1,          cz = (int)Z, pz = (cz-1<0)?0:cz-1, nz = (cz+1>dz1)?dz1:cz+1;        const float          curru = (float)W(cx,cy,cz,0),          currv = (float)W(cx,cy,cz,1),          currw = (float)W(cx,cy,cz,2);        pcimg_valign3d(px,py,pz); pcimg_valign3d(cx,py,pz); pcimg_valign3d(nx,py,pz);        pcimg_valign3d(px,cy,pz); pcimg_valign3d(cx,cy,pz); pcimg_valign3d(nx,cy,pz);        pcimg_valign3d(px,ny,pz); pcimg_valign3d(cx,ny,pz); pcimg_valign3d(nx,ny,pz);        pcimg_valign3d(px,py,cz); pcimg_valign3d(cx,py,cz); pcimg_valign3d(nx,py,cz);        pcimg_valign3d(px,cy,cz);                           pcimg_valign3d(nx,cy,cz);        pcimg_valign3d(px,ny,cz); pcimg_valign3d(cx,ny,cz); pcimg_valign3d(nx,ny,cz);        pcimg_valign3d(px,py,nz); pcimg_valign3d(cx,py,nz); pcimg_valign3d(nx,py,nz);        pcimg_valign3d(px,cy,nz); pcimg_valign3d(cx,cy,nz); pcimg_valign3d(nx,cy,nz);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影免费提供在线观看| 亚洲一区国产视频| 一区二区高清免费观看影视大全 | 国产曰批免费观看久久久| 成人综合婷婷国产精品久久蜜臀 | 在线播放日韩导航| 中文字幕一区免费在线观看| 久久99精品久久久久久动态图| 色视频欧美一区二区三区| 欧美经典一区二区三区| 久久国产麻豆精品| 日韩欧美成人午夜| 日韩电影在线一区二区三区| 一本久道久久综合中文字幕 | 懂色av中文字幕一区二区三区| 欧美高清你懂得| 亚洲资源在线观看| 色噜噜偷拍精品综合在线| 国产精品电影院| 国产91精品免费| 欧美国产精品一区二区三区| 国产精品一线二线三线| 精品美女一区二区| 看国产成人h片视频| 欧美精品久久99久久在免费线| 一区二区三区不卡在线观看| 95精品视频在线| 综合av第一页| 91免费观看视频在线| 亚洲欧美偷拍三级| 色婷婷国产精品| 亚洲福利视频三区| 欧美日本一区二区三区| 日韩精品一级二级| 欧美xxxxxxxx| 国产麻豆成人精品| 久久精品日韩一区二区三区| 国产成人h网站| 国产精品动漫网站| 91高清在线观看| 一区二区三区在线免费观看| 欧美喷水一区二区| 久久草av在线| 国产欧美1区2区3区| 成人av在线资源网| 一区二区三区加勒比av| 欧美高清精品3d| 狠狠色狠狠色综合系列| 久久精品亚洲精品国产欧美kt∨| 国产成人亚洲综合a∨婷婷图片| 国产精品色婷婷| 日本道免费精品一区二区三区| 亚洲午夜精品在线| 日韩欧美在线1卡| 粉嫩欧美一区二区三区高清影视 | 欧美国产日本韩| 91啪亚洲精品| 日韩国产在线观看一区| 久久这里只有精品6| 99riav久久精品riav| 午夜av一区二区三区| 久久综合九色综合欧美98 | 91精品国产综合久久精品图片 | 欧美午夜电影网| 美腿丝袜一区二区三区| 欧美经典三级视频一区二区三区| 99re这里只有精品首页| 亚洲夂夂婷婷色拍ww47| 久久女同精品一区二区| 91麻豆福利精品推荐| 久久99精品国产麻豆不卡| 亚洲日本在线天堂| 欧美精品一区二区三区蜜臀| 91亚洲精品一区二区乱码| 麻豆精品视频在线观看免费| 成人欧美一区二区三区| 日韩亚洲电影在线| 一本久道久久综合中文字幕| 麻豆精品一区二区三区| 一区二区久久久| 中文字幕巨乱亚洲| 精品国产百合女同互慰| 欧美日韩一区中文字幕| av不卡一区二区三区| 另类小说综合欧美亚洲| 亚洲国产日产av| 自拍偷拍国产精品| 国产调教视频一区| 91精品国产综合久久精品图片| 一本一道久久a久久精品综合蜜臀| 久久国产精品99久久人人澡| 亚洲va国产天堂va久久en| 日韩理论片网站| 日本一区二区高清| 久久久五月婷婷| 2023国产精华国产精品| 91麻豆精品国产91久久久更新时间| 在线日韩av片| 色综合久久天天综合网| 国产福利电影一区二区三区| 玖玖九九国产精品| 日韩av电影免费观看高清完整版在线观看| 国产精品国产三级国产aⅴ入口| 26uuuu精品一区二区| 日韩午夜激情视频| 91精品婷婷国产综合久久性色| 日本二三区不卡| 欧美吻胸吃奶大尺度电影 | 成人一级片在线观看| 韩国女主播一区二区三区| 美国十次了思思久久精品导航| 丝袜美腿亚洲综合| 首页综合国产亚洲丝袜| 夜色激情一区二区| 亚洲综合成人在线| 丝袜亚洲另类欧美| 蜜臀精品一区二区三区在线观看| 日本不卡在线视频| 看国产成人h片视频| 国产成人av电影免费在线观看| 国产高清亚洲一区| 成人中文字幕在线| 97精品国产露脸对白| 在线观看日韩电影| 3d动漫精品啪啪一区二区竹菊| 欧美精品久久99久久在免费线| 日韩一级二级三级精品视频| 久久久久九九视频| 中文字幕在线不卡一区| 国产精品的网站| 亚洲国产综合91精品麻豆| 日精品一区二区三区| 久久精品国产精品亚洲精品| 国产激情视频一区二区在线观看| 成人国产一区二区三区精品| 91啪亚洲精品| 欧美一区二区在线视频| 日韩一区二区视频在线观看| 久久品道一品道久久精品| 国产精品福利一区二区| 日日夜夜精品视频免费| 精品一区二区三区视频| 波波电影院一区二区三区| 欧美三级视频在线播放| 精品国产乱码久久| 亚洲精品中文在线观看| 美腿丝袜亚洲色图| av在线播放一区二区三区| 884aa四虎影成人精品一区| 精品少妇一区二区三区免费观看 | 久久狠狠亚洲综合| 99久久精品国产一区二区三区 | 男人操女人的视频在线观看欧美| 国产美女视频一区| 一本到一区二区三区| 26uuu亚洲| 亚洲va中文字幕| 粗大黑人巨茎大战欧美成人| 欧美另类一区二区三区| 国产精品国产精品国产专区不蜜 | 国产精品欧美综合在线| 偷窥少妇高潮呻吟av久久免费| 国产九色sp调教91| 欧美日韩国产精选| 国产精品萝li| 国内成+人亚洲+欧美+综合在线| 在线视频一区二区三区| 欧美国产综合一区二区| 久色婷婷小香蕉久久| 精品视频在线看| 亚洲激情图片qvod| 国产91露脸合集magnet| 欧美一区午夜精品| 一区二区三区毛片| 99免费精品视频| 久久综合色播五月| 精品中文字幕一区二区小辣椒| 欧美视频在线观看一区二区| 久久精品视频一区| 激情五月婷婷综合网| 日韩三级视频在线观看| 亚洲成国产人片在线观看| 色综合久久88色综合天天| 中文字幕va一区二区三区| 国产精品一区二区三区四区| 337p亚洲精品色噜噜噜| 日韩国产欧美在线播放| 欧美美女一区二区在线观看| 亚洲高清中文字幕| 在线观看国产日韩| 亚洲成a人片在线观看中文| 欧美综合一区二区三区| 亚洲美腿欧美偷拍| 色综合天天性综合| 亚洲欧洲精品成人久久奇米网| 色婷婷亚洲一区二区三区| 欧美国产日韩在线观看| 成人午夜电影久久影院| 欧美高清在线精品一区| 99久久er热在这里只有精品66|