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

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

?? image_surface.cpp

?? this a image processing program
?? CPP
字號:
/*-------------------------------------------------------------------------------------------  File        : image_surface.cpp  Description : This tool allows to show an image as a 3D surface  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// Main procedure//----------------int main(int argc,char **argv) {  // Read command line arguments  cimg_usage("Render an image as a surface");  const char *file_i = cimg_option("-i","img/logo.ppm","Input image");  const char *file_o = cimg_option("-o",(char*)0,"Output 3D object");  const float sigma = cimg_option("-smooth",1.0f,"Amount of image smoothing");  const float ratioz = cimg_option("-z",0.25f,"Aspect ratio along z-axis");  const unsigned int di = cimg_option("-di",10,"Step for isophote skipping");  // Init data  std::fprintf(stderr,"\n- Load file '%s'",cimg::basename(file_i)); std::fflush(stderr);  const CImg<unsigned char> img = CImg<>(file_i).blur(sigma).resize(-100,-100,1,3);  const CImg<unsigned char> norm = img.get_norm_pointwise().normalize(0,255);  CImgList<> points, isopoints;  CImgList<unsigned int> primitives, isoprimitives;  CImgList<unsigned char> colors, isocolors;  // Compute surface with isophotes  std::fprintf(stderr,"\n- Compute isophotes"); std::fflush(stderr);  CImgList<> lpoints;  for (unsigned int i=0; i<255; i+=di) norm.marching_squares((float)i,lpoints,isoprimitives);  cimglist_for(isoprimitives,l) {    const unsigned int i0 = isoprimitives(l,0);    const float x0 = lpoints(i0,0), y0 = lpoints(i0,1);    const unsigned char      r = (unsigned char)img.linear_pix2d(x0,y0,0),      g = (unsigned char)img.linear_pix2d(x0,y0,1),      b = (unsigned char)img.linear_pix2d(x0,y0,2);    isocolors.insert(CImg<unsigned char>::vector(r,g,b));  }  isopoints = lpoints.get_append('x').resize(-100,3,1,1,0).get_split('x');  cimglist_for(isopoints,ll) isopoints(ll,2) = -ratioz*norm.linear_pix2d(isopoints(ll,0),isopoints(ll,1));  // Compute surface with triangles  std::fprintf(stderr,"\n- Create image surface"); std::fflush(stderr);  const unsigned int w = img.width+1, h = img.height+1;  points.assign(w*h,3);  cimg_forXY(img,x,y) {    points(x+y*w,0) = points(x+1+y*w,0) = points(x+1+(y+1)*w,0) = points(x+(y+1)*w,0) = (float)x;    points(x+y*w,1) = points(x+1+y*w,1) = points(x+1+(y+1)*w,1) = points(x+(y+1)*w,1) = (float)y;    points(x+y*w,2) = points(x+1+y*w,2) = points(x+1+(y+1)*w,2) = points(x+(y+1)*w,2) = -ratioz*norm(x,y);    const unsigned int      i0 = x + y*w, i1 = (x+1) + y*w,      i2 = (x+1) + (y+1)*w, i3 = x + (y+1)*w;    primitives.insert(CImg<unsigned int>::vector(i0,i1,i2,i3));    const unsigned char      r = (unsigned char)img(x,y,0),      g = (unsigned char)img(x,y,1),      b = (unsigned char)img(x,y,2);    colors.insert(CImg<unsigned char>::vector(r,g,b));  }  // Save object if necessary  if (file_o) {    std::fprintf(stderr,"\n- Save 3d object as '%s'",cimg::basename(file_o)); std::fflush(stderr);    points.save_off(file_o,primitives,colors);  }  // Enter event loop  std::fprintf(stderr,	       "\n- Enter interactive loop.\n\n"	       "Reminder : \n"	       " + Use mouse to rotate and zoom object\n"	       " + key 'F' : Toggle fullscreen\n"	       " + key 'Q' : Quit\n"	       " + Any other key : Change rendering type\n\n"); std::fflush(stderr);  const char *const title = "Image viewed as a surface";  CImgDisplay disp(800,600,title,0);  unsigned int rtype = 2;  CImg<float> pose = CImg<float>::identity_matrix(4);  while (!disp.is_closed) {    const unsigned char white[3]={255,255,255};    CImg<unsigned char> visu(disp.dimx(), disp.dimy(),1,3,0);    visu.draw_text(10,10,white,0,19,1.0f,"Render : %s",		rtype==0?"Points":(rtype==1?"Lines":(rtype==2?"Faces":(rtype==3?"Flat-shaded faces":	       (rtype==4?"Gouraud-shaded faces":(rtype==5?"Phong-shaded faces":"Isophotes"))))));    if (rtype==6) visu.display_object3d(isopoints,isoprimitives,isocolors,disp,true,1,-1,true,500.0f,0.05f,1.0f,true,pose.ptr());    else visu.display_object3d(points,primitives,colors,disp,true,rtype,-1,true,500.0f,0.05f,1.0f,true,pose.ptr());    switch (disp.key) {    case 0: break;    case cimg::keyBACKSPACE: rtype = (7+rtype-1)%7; break;    case cimg::keyQ:    case cimg::keyESC: disp.close(); break;    case cimg::keyF:      if (disp.is_fullscreen) disp.resize(800,600); else disp.resize(disp.screen_dimx(),disp.screen_dimy());      disp.toggle_fullscreen();      break;    default: rtype = (rtype+1)%7; break;    }  }  return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久四虎| 久久久精品日韩欧美| 91福利视频久久久久| 91碰在线视频| 91啪九色porn原创视频在线观看| 极品少妇一区二区| 国产黄色精品网站| 91首页免费视频| 欧美亚洲自拍偷拍| 欧美成人官网二区| 久久久久久久久久美女| 国产精品高潮久久久久无| 亚洲激情五月婷婷| 五月激情六月综合| 精品一区二区在线观看| 美女一区二区久久| 国产精品白丝jk白祙喷水网站| 风流少妇一区二区| 在线视频综合导航| 日韩一区二区影院| 久久午夜老司机| 亚洲人成在线播放网站岛国| 午夜不卡av免费| 国产一区二区主播在线| 91久久精品网| 精品国产污污免费网站入口| 国产精品视频九色porn| 亚洲成人黄色小说| 国产一区不卡精品| 在线亚洲高清视频| 久久久精品蜜桃| 香蕉久久夜色精品国产使用方法| 久久精品久久99精品久久| 99久久精品国产网站| 3d成人动漫网站| 国产精品另类一区| 麻豆国产欧美一区二区三区| 91在线观看成人| 日韩精品中文字幕一区二区三区| 国产视频亚洲色图| 午夜电影网一区| 一本大道综合伊人精品热热| 亚洲精品一线二线三线无人区| 亚洲欧美一区二区三区孕妇| 激情久久五月天| 欧美精品免费视频| 亚洲天堂免费看| 国产电影一区二区三区| 3d动漫精品啪啪| 亚洲综合免费观看高清在线观看| 国产成人精品亚洲日本在线桃色| 欧美一区二区不卡视频| 亚洲精品成a人| 99久久99久久久精品齐齐| 精品奇米国产一区二区三区| 亚洲二区在线视频| 91黄视频在线观看| 中文字幕日韩一区二区| 国产精品亚洲一区二区三区在线 | 精品国产免费人成电影在线观看四季 | 日韩一区二区三区免费观看| 亚洲日本va在线观看| 国产成人精品一区二区三区四区 | 免费看黄色91| 欧美日韩国产乱码电影| 亚洲午夜精品在线| 欧美性一二三区| 亚洲一区在线视频观看| 在线观看一区日韩| 亚洲乱码日产精品bd| 色婷婷精品久久二区二区蜜臀av| 136国产福利精品导航| 99国产精品99久久久久久| 日本一区二区免费在线 | 亚洲一区电影777| 91视视频在线观看入口直接观看www | 国产又粗又猛又爽又黄91精品| 欧美日本乱大交xxxxx| 午夜精品一区二区三区免费视频 | 91精品国模一区二区三区| 亚洲成人免费看| 欧美伦理影视网| 日韩国产在线一| 日韩免费一区二区三区在线播放| 日本 国产 欧美色综合| 欧美草草影院在线视频| 国产成人无遮挡在线视频| 欧美国产日韩a欧美在线观看 | 欧美喷潮久久久xxxxx| 天堂一区二区在线免费观看| 欧美一区永久视频免费观看| 免费黄网站欧美| 精品国产乱码久久久久久夜甘婷婷 | 国产一区二区三区电影在线观看| 久久亚洲精品国产精品紫薇| 风间由美中文字幕在线看视频国产欧美 | 精品日韩在线观看| 丁香另类激情小说| 中文字幕在线视频一区| 在线视频综合导航| 亚洲精品一二三四区| 欧美日韩中字一区| 免费在线看成人av| 黄一区二区三区| 国产精品久久久久一区| 99视频国产精品| 亚洲图片有声小说| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲精品国产品国语在线app| 欧美日本国产视频| 国产成人综合亚洲网站| 亚洲裸体在线观看| 日韩欧美亚洲国产精品字幕久久久| 国产乱对白刺激视频不卡| 一区二区三区日本| 久久久综合激的五月天| 在线观看av一区二区| 国产成人在线视频免费播放| 亚洲狠狠爱一区二区三区| 日本一区二区三区视频视频| 这里只有精品电影| 国产成人av电影免费在线观看| 五月激情综合网| 亚洲美女视频在线| 久久久亚洲高清| 日韩精品综合一本久道在线视频| 一本在线高清不卡dvd| 国产精品一区二区果冻传媒| 视频在线观看91| 亚洲欧美日韩国产综合| 久久精品一区二区三区不卡| 91精品国产丝袜白色高跟鞋| 在线观看欧美日本| 99re这里只有精品视频首页| 国产乱码一区二区三区| 久久国产视频网| 日韩不卡在线观看日韩不卡视频| 亚洲男同性恋视频| 亚洲少妇30p| 亚洲特级片在线| 亚洲婷婷国产精品电影人久久| 欧美激情在线一区二区| 国产日产精品一区| 中文字幕精品—区二区四季| 久久久久久久综合日本| 久久精品人人做| 国产色一区二区| 日本一区二区三区视频视频| 久久久久国产成人精品亚洲午夜| 欧美xxxx老人做受| 欧美成人精品二区三区99精品| 日韩欧美视频一区| 欧美成人猛片aaaaaaa| 日韩一区二区三区精品视频| 欧美一区二区国产| 久久久精品免费观看| 国产午夜久久久久| 欧美国产激情二区三区| 国产精品麻豆欧美日韩ww| 一区在线播放视频| 一区二区三区高清不卡| 亚洲国产欧美一区二区三区丁香婷| 一区二区三区在线观看视频| 亚洲最大色网站| 日本伊人精品一区二区三区观看方式| 天天爽夜夜爽夜夜爽精品视频| 日日骚欧美日韩| 免费视频最近日韩| 国产福利91精品| 一本大道久久a久久精二百| 欧美三级韩国三级日本三斤| 4438亚洲最大| 欧美国产成人精品| 夜夜嗨av一区二区三区网页 | 久久精品欧美一区二区三区麻豆| 国产免费成人在线视频| 亚洲精品免费电影| 免费黄网站欧美| 99国产精品久久久久久久久久| 欧美性色aⅴ视频一区日韩精品| 91精品国产福利| 国产精品久久久久7777按摩| 亚洲成人av中文| 懂色一区二区三区免费观看| 欧美综合天天夜夜久久| 日韩精品一区国产麻豆| 亚洲欧洲美洲综合色网| 午夜精品久久久久久久99樱桃| 精品影院一区二区久久久| 91在线视频播放地址| 日韩区在线观看| 亚洲精品美腿丝袜| 韩国精品主播一区二区在线观看| 91黄色免费网站| 久久你懂得1024| 日韩主播视频在线| aaa国产一区| 精品播放一区二区| 日韩高清不卡一区二区| 99久久99久久综合|