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

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

?? mcf_levelsets.cpp

?? this a image processing program
?? CPP
字號:
/*-------------------------------------------------------------------------------------------  File        : mcf_levelsets.cpp  Description : Implementation of the Mean Curvature Flow (classical 2d curve evolution),                using the framework of Level Sets  Copyright  : David Tschumperle - http://www.greyc.ensicaen.fr/~dtschump/  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.-----------------------------------------------------------------------------------------*/#include "../CImg.h"using namespace cimg_library;// The undef below is necessary when using a non-standard compiler.#ifdef cimg_use_visualcpp6#define std#endif// get_level0() : Retrieve the curve corresponding to the zero level set of the distance function//-------------CImg<unsigned char> get_level0(const CImg<>& img) {  CImg<unsigned char> dest(img);  CImg_2x2(I,float);  cimg_for2x2(img,x,y,0,0,I) if (Icc*Inc<0 || Icc*Icn<0) dest(x,y) = 255; else dest(x,y) = Icc<0?100:0;  return dest;}// init_distance_function() : Init distance function (PDE-based approach).//-------------------------void init_distance_function(CImg<>& img, unsigned int nb_iter,CImgDisplay* disp=NULL) {  const float dt = 1;  CImg_3x3(I,float);  img.blur(0.5);  for (unsigned int iter=0; iter<nb_iter; iter++) {    CImg<> veloc(img.dimx(),img.dimy(),img.dimz(),img.dimv());    cimg_for3x3(img,x,y,0,0,I) {      const float	gx = 0.5f*(Inc-Ipc),	gy = 0.5f*(Icn-Icp),	sgn = -cimg::sign(Icc),	ix = (gx*sgn)>0?(Inc-Icc):(Icc-Ipc),	iy = (gy*sgn)>0?(Icn-Icc):(Icc-Icp),	ng = (float)std::sqrt(gx*gx+gy*gy),	ngx = ng>1e-5?gx/ng:gx,	ngy = ng>1e-5?gy/ng:gy;      veloc(x,y) = sgn*(ngx*ix + ngy*iy - 1);    }    const CImgStats stats(veloc);    const double xdt = dt/cimg::max(cimg::abs(stats.min),cimg::abs(stats.max));    img+=xdt*veloc;    if (disp && !(iter%40)) img.display(*disp);  }}//-----------------// Main procedure//-----------------int main(int argc,char **argv) {  cimg_usage("Perform a Mean Curvature Flow on closed curves, using Level Sets");  const float dt = cimg_option("-dt",0.8f,"PDE time step");  const unsigned int nb_iter = cimg_option("-iter",10000,"Number of iterations");  // Create a user-defined closed curve  CImg<unsigned char> curve(256,256,1,2,0);  unsigned char col1[2]={0,255}, col2[2]={200,255}, col3[2]={255,255};  curve.draw_grid(20,20,0,0,col3,0xCCCCCCCC,0xCCCCCCCC,false,false,0.4f).    draw_text("Please draw your curve\nin this window\n(Use your mouse)",5,5,col1);  CImgDisplay disp(curve,"Mean curvature flow",0);  int xo=-1,yo=-1,x0=-1,y0=-1,x1=-1,y1=-1;  while (!disp.is_closed && (x0<0 || disp.button)) {    if (disp.button && disp.mouse_x>=0 && disp.mouse_y>=0) {      if (x0<0) { xo = x0 = disp.mouse_x; yo = y0 = disp.mouse_y; } else {	x1 = disp.mouse_x; y1 = disp.mouse_y;	curve.draw_line(x0,y0,x1,y1,col2).display(disp);	x0 = x1; y0 = y1;      }    }    disp.wait();    if (disp.is_resized) disp.resize(disp);  }  curve.draw_line(x1,y1,xo,yo,col2).channel(0).draw_fill(0,0,col3);  CImg<> img = CImg<>(curve.get_shared_channel(0)).normalize(-1,1);  // Init distance function  init_distance_function(img,10,&disp);  // Perform the "Mean Curvature Flow"  CImg_3x3(I,float);  for (unsigned int iter=0; iter<nb_iter && !disp.is_closed && disp.key!=cimg::keyQ; iter++) {    CImg<> veloc(img.dimx(),img.dimy(),img.dimz(),img.dimv());    cimg_for3x3(img,x,y,0,0,I) {      const float	ix = 0.5f*(Inc-Ipc),	iy = 0.5f*(Icn-Icp),	ixx = Inc+Ipc-2*Icc,	iyy = Icn+Icp-2*Icc,	ixy = 0.25f*(Ipp+Inn-Inp-Ipn),	ngrad = ix*ix+iy*iy,	iee = (ngrad>1e-5)?(( iy*iy*ixx - 2*ix*iy*ixy + ix*ix*iyy )/ngrad):0;      veloc(x,y) = iee;    }    const CImgStats stats(veloc);    const double xdt = dt/cimg::max(cimg::abs(stats.min),cimg::abs(stats.max));    img+=xdt*veloc;    if (!(iter%10))      get_level0(img).draw_grid(20,20,0,0,col3,0xCCCCCCCC,0xCCCCCCCC,false,false,0.4f).        draw_text(5,5,col3,0,11,1,"Iteration %d",iter).display(disp);    if (!(iter%30)) init_distance_function(img,1);    if (disp.is_resized) disp.resize(disp);  }  // End of program  return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产美女久久久久| 午夜不卡av在线| 国产99一区视频免费| 国产欧美日本一区二区三区| 岛国一区二区在线观看| 国产精品欧美久久久久一区二区| 北条麻妃一区二区三区| 亚洲毛片av在线| 欧美乱熟臀69xxxxxx| 狂野欧美性猛交blacked| 久久一区二区视频| 99久久久国产精品| 日日夜夜精品视频免费| 精品国产一区二区在线观看| 成人av免费观看| 亚洲一区二区三区激情| 亚洲精品一区在线观看| 色综合天天做天天爱| 亚洲成人动漫在线免费观看| 欧美sm美女调教| 99久久伊人精品| 日韩av电影免费观看高清完整版| 久久毛片高清国产| 91精品91久久久中77777| 免费xxxx性欧美18vr| 中文字幕第一区| 欧美日韩不卡一区二区| 国产成人欧美日韩在线电影| 亚洲在线免费播放| 久久久精品tv| 欧美日韩成人一区| 99久久久国产精品| 精品在线免费视频| 一级做a爱片久久| 国产亚洲女人久久久久毛片| 欧美三级视频在线观看| 国v精品久久久网| 青青草97国产精品免费观看无弹窗版 | 日韩视频国产视频| eeuss鲁片一区二区三区| 天堂影院一区二区| 日韩美女视频一区| 精品国产一区二区三区忘忧草 | 欧美中文字幕一区| 国产成人亚洲综合a∨婷婷| 亚洲午夜电影在线| 国产精品日日摸夜夜摸av| 日韩视频免费观看高清完整版在线观看 | 欧美一级xxx| 色婷婷综合在线| 成人在线综合网站| 精品无人区卡一卡二卡三乱码免费卡| 一区二区三区中文字幕电影| 国产亚洲制服色| 欧美一区二区免费| 欧美日本国产视频| 欧美亚洲高清一区二区三区不卡| 国产盗摄一区二区| 国产精品一区二区无线| 久久国产精品区| 日韩成人免费看| 日韩国产一二三区| 亚洲大型综合色站| 亚洲国产sm捆绑调教视频| 亚洲欧美福利一区二区| 亚洲视频一区二区在线观看| 国产色综合久久| 久久精品一二三| 精品粉嫩aⅴ一区二区三区四区| 日韩一区二区三区在线观看| 欧美男生操女生| 欧美图区在线视频| 欧美日韩免费不卡视频一区二区三区 | 国产精品久久久久久久久快鸭| 日韩一区二区三区电影| 91精品蜜臀在线一区尤物| 欧美日韩国产一级| 日韩一级片在线观看| 日韩一区二区三| 欧美成人aa大片| 久久精品一区二区三区av| 国产网站一区二区三区| 国产欧美日韩久久| 国产精品久久久久久久久免费桃花| 国产精品黄色在线观看| 亚洲麻豆国产自偷在线| 一区二区三区蜜桃| 图片区日韩欧美亚洲| 青青青爽久久午夜综合久久午夜| 日韩中文欧美在线| 久久99精品一区二区三区三区| 国产乱国产乱300精品| 成人黄色777网| 在线观看亚洲专区| 91精品福利在线一区二区三区 | 欧洲国产伦久久久久久久| 精品污污网站免费看| 欧美久久久久久久久久| 91精品国产福利| 久久久综合视频| 自拍偷拍亚洲欧美日韩| 亚洲在线中文字幕| 国产在线精品免费| 99久久精品国产观看| 51精品久久久久久久蜜臀| 精品国产乱码久久久久久久久| 中国色在线观看另类| 亚洲午夜视频在线观看| 久久er精品视频| 91热门视频在线观看| 日韩精品一区二区在线| 国产精品美日韩| 亚洲成av人片www| 国产高清亚洲一区| 欧美色成人综合| 国产三区在线成人av| 亚洲午夜av在线| 国产91精品入口| 欧美日韩成人高清| 中文在线免费一区三区高中清不卡| 一区二区三区蜜桃| 国产不卡在线视频| 在线播放日韩导航| 一区精品在线播放| 蜜臀精品一区二区三区在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产福利一区二区三区视频在线| 一本到不卡免费一区二区| 精品久久久影院| 午夜欧美视频在线观看| 丁香六月综合激情| 欧美α欧美αv大片| 一区二区三区视频在线看| 国产主播一区二区三区| 欧美日韩视频专区在线播放| 国产精品久久久久婷婷二区次| 美腿丝袜在线亚洲一区| 欧美亚洲另类激情小说| 国产精品理论在线观看| 久久国产尿小便嘘嘘尿| 欧美美女网站色| 一区二区成人在线视频| 成人h动漫精品一区二区| 久久蜜桃av一区二区天堂| 日韩av一区二区三区四区| 色综合久久中文字幕综合网| 国产精品色婷婷| 国产一区91精品张津瑜| 日韩欧美国产午夜精品| 亚洲福利一区二区| 日本韩国精品一区二区在线观看| 欧美国产日本视频| 丁香网亚洲国际| 久久久久久久久蜜桃| 激情伊人五月天久久综合| 91精品国产91综合久久蜜臀| 五月天中文字幕一区二区| 99久久久久久| 亚洲你懂的在线视频| 成人激情小说网站| 欧美激情在线一区二区三区| 国产精品资源在线看| 精品国产髙清在线看国产毛片| 日韩avvvv在线播放| 欧美精品 日韩| 欧美a级理论片| 日韩美女在线视频| 国产一区二区三区四| 久久亚洲精品小早川怜子| 国产成人综合视频| 欧美激情综合网| 91免费观看国产| 亚洲综合视频在线| 欧美日本国产视频| 麻豆免费精品视频| 久久午夜免费电影| 风间由美中文字幕在线看视频国产欧美| 久久美女艺术照精彩视频福利播放| 国产精品综合在线视频| 中文字幕精品一区二区三区精品| 成人三级伦理片| 亚洲免费高清视频在线| 欧美色图在线观看| 免费av成人在线| 久久精品人人做人人综合| 波多野结衣在线一区| 亚洲精品一二三四区| 欧美日本精品一区二区三区| 麻豆高清免费国产一区| 国产亚洲精品超碰| 91在线视频官网| 偷拍一区二区三区四区| 欧美xxxxx牲另类人与| 国产白丝精品91爽爽久久| 一区二区三区中文字幕精品精品| 777亚洲妇女| 成人免费毛片a| 午夜成人免费视频| 国产日产欧美一区二区视频| 色噜噜久久综合|