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

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

?? image2ascii.cpp

?? this a image processing program
?? CPP
字號:
/*-------------------------------------------------------------------------------  File        : image2ascii.cpp  Description : An image to ASCII-art converter  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.    ------------------------------------------------------------------------------*/// Tell CImg not to use display capabilities.#define cimg_display_type 0#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) {  cimg_usage("An image to ASCII-art converter.\n\nUsage : image2ascii [options] image");  // Read command line parameters  const char *file_i = NULL;  for (int i=1; i<argc; i++) if (argv[i][0]!='-') file_i = argv[i];  const char *geom    = cimg_option("-g","80x40","Output size");  const int alphabet  = cimg_option("-a",0,"Alphabet type (0=full, 1=numbers, 2=letters, 3=signs, 4=minimal");  const bool invert   = cimg_option("-invert",false,"Invert image intensities");  const float contour = (float)cimg_option("-contour",0.0f,"Use image contours higher than specified threshold");  const float blur    = (float)cimg_option("-blur",0.8f,"Image pre-blur");  const float sigma   = (float)cimg_option("-sigma",1.5f,"Font pre-blur");  int w,h;  std::sscanf(geom,"%d%*c%d",&w,&h);  // Init fonts  const CImgList<> font_full = CImgList<>::get_font(11,false);  const int fw = font_full['A'].dimx(), fh = font_full['A'].dimy();  CImgList<> font, font_blur;  CImgList<unsigned char> font_code;  switch (alphabet) {  case 1: {     font_code.insert(CImg<unsigned char>::vector(' '));    for (unsigned int l='0'; l<='9'; l++) font_code.insert(CImg<unsigned char>::vector(l));   } break;  case 2: {    font_code.insert(CImg<unsigned char>::vector(' '));    for (unsigned int l='A'; l<='Z'; l++) font_code.insert(CImg<unsigned char>::vector(l));   } break;  case 3: {    font_code.insert(CImg<unsigned char>::vector(' '));    font_code.insert(CImg<unsigned char>::vector('-'));    font_code.insert(CImg<unsigned char>::vector('_'));    font_code.insert(CImg<unsigned char>::vector('|'));    font_code.insert(CImg<unsigned char>::vector('/'));    font_code.insert(CImg<unsigned char>::vector('\\'));    font_code.insert(CImg<unsigned char>::vector('+'));    font_code.insert(CImg<unsigned char>::vector('.'));    font_code.insert(CImg<unsigned char>::vector('*'));    font_code.insert(CImg<unsigned char>::vector('='));    font_code.insert(CImg<unsigned char>::vector(']'));    font_code.insert(CImg<unsigned char>::vector('['));    font_code.insert(CImg<unsigned char>::vector('('));    font_code.insert(CImg<unsigned char>::vector(')'));    font_code.insert(CImg<unsigned char>::vector('{'));    font_code.insert(CImg<unsigned char>::vector('}'));    font_code.insert(CImg<unsigned char>::vector('"'));    font_code.insert(CImg<unsigned char>::vector('!'));    font_code.insert(CImg<unsigned char>::vector('$'));    } break;  case 4: {    font_code.insert(CImg<unsigned char>::vector(' '));    font_code.insert(CImg<unsigned char>::vector('.'));    font_code.insert(CImg<unsigned char>::vector('/'));    font_code.insert(CImg<unsigned char>::vector('\\'));    font_code.insert(CImg<unsigned char>::vector('_'));    font_code.insert(CImg<unsigned char>::vector('_'));    font_code.insert(CImg<unsigned char>::vector('|'));    } break;  default: { for (unsigned int l=' '; l<='~'; l++) font_code.insert(CImg<unsigned char>::vector(l)); } break;  }  cimglist_for(font_code,l) {    font.insert(font_full(font_code[l](0)));    font_blur.insert(font[l].get_resize(fw,fh,1,1).blur(sigma).normalize(0,255));  }    // Init images  if (!file_i) { std::fprintf(stderr,"You must specify an input image (try '%s -h').\n\n",argv[0]); std::exit(0); }  CImg<> img = CImg<>(file_i).norm_pointwise().resize(fw*w,fh*h);  if (blur) img.blur(blur);  if (contour>0) {    CImgList<> grad = img.get_gradientXY(4);    img = (grad[0].pow(2) + grad[1].pow(2)).sqrt().normalize(0,100).threshold(contour);  }  img.normalize(0,255);  if (invert) img = 255.0f-img;  CImg<unsigned char> dest(w,h,1,1,0);  // Render ASCII-art image, using a simple correlation method.  CImg<> neigh;  cimg_forY(dest,y) { cimg_forX(dest,x) {    neigh = img.get_crop(x*fw,y*fh,(x+1)*fw,(y+1)*fh);    float scoremin = 2e28f;    unsigned int best = 0;    cimglist_for(font_code,l) {      const CImg<>& letter = font_blur[l];      const float score = (float)((letter-neigh).pow(2).sum());      if (score<scoremin) { scoremin = score; best = l; }    }    dest(x,y) = best;    std::fprintf(stdout,"%c",font_code[dest(x,y)](0));  }  std::fprintf(stdout,"\n");  }    std::exit(0);  return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成精品久久久久| 自拍偷拍亚洲综合| 韩国午夜理伦三级不卡影院| 久久女同精品一区二区| 成人免费视频视频| 亚洲欧美乱综合| 欧美日韩国产精品成人| 蜜芽一区二区三区| 国产欧美一区二区精品性色超碰| 波多野结衣中文字幕一区| 一区二区三区在线视频观看58| 欧美日韩精品欧美日韩精品 | 综合婷婷亚洲小说| 欧美视频一区在线观看| 蜜桃av噜噜一区| 国产欧美一区二区精品婷婷| 99r精品视频| 午夜伦理一区二区| 精品动漫一区二区三区在线观看| 岛国一区二区在线观看| 亚洲一区二区三区四区在线免费观看 | 玉米视频成人免费看| 欧美日本国产视频| 91亚洲大成网污www| 大胆欧美人体老妇| 亚洲免费观看高清在线观看| 欧美麻豆精品久久久久久| 精品一区二区三区久久| 中文字幕日本不卡| 欧美丰满美乳xxx高潮www| 韩日精品视频一区| 亚洲少妇最新在线视频| 3751色影院一区二区三区| 国产精品自在在线| 亚洲综合色自拍一区| 亚洲精品在线观| 91蝌蚪porny| 蜜臀久久99精品久久久久久9| 中文字幕精品一区二区三区精品| 欧美性一区二区| 韩日精品视频一区| 亚洲一区二区三区视频在线播放| 久久综合国产精品| 欧美日韩亚洲综合| 高清不卡在线观看| 美女一区二区在线观看| 亚洲欧美一区二区三区极速播放| 欧美一区二区三区在线| 99视频在线精品| 久久99久久99| 亚洲蜜臀av乱码久久精品蜜桃| 精品88久久久久88久久久| 日本高清视频一区二区| 国产久卡久卡久卡久卡视频精品| 亚洲国产另类av| 亚洲国产成人私人影院tom| 欧美精品久久久久久久久老牛影院| 美日韩一区二区三区| 亚洲欧美日韩一区二区| 久久久久久久久久看片| 欧美理论在线播放| 99久久精品国产精品久久| 久久国产剧场电影| 亚洲成人av一区二区| 国产精品国产三级国产aⅴ中文| 欧美一级理论片| 欧美影视一区二区三区| 成人av在线影院| 国产一级精品在线| 日本强好片久久久久久aaa| 亚洲欧美日韩国产综合| 国产日韩影视精品| 精品国内二区三区| 69久久夜色精品国产69蝌蚪网| 91香蕉视频在线| 风间由美性色一区二区三区| 黄网站免费久久| 蜜桃精品视频在线| 日韩精品亚洲专区| 一区二区三区四区激情 | 国产精品乱码一区二区三区软件 | 无码av免费一区二区三区试看| 自拍av一区二区三区| 国产色婷婷亚洲99精品小说| 日韩一区二区三区免费观看| 精品视频在线免费观看| 91豆麻精品91久久久久久| 99久久99精品久久久久久| 成人综合在线观看| 国产福利一区二区三区| 韩国一区二区在线观看| 久久99精品久久久久久动态图| 日韩—二三区免费观看av| 夜夜精品视频一区二区| 亚洲人成在线播放网站岛国| 国产精品素人一区二区| 国产精品污www在线观看| 亚洲国产成人一区二区三区| 国产日韩影视精品| 欧美高清在线一区二区| 国产调教视频一区| 国产丝袜欧美中文另类| 国产亚洲一区字幕| 国产亲近乱来精品视频| 国产欧美一区二区精品秋霞影院 | 亚洲日本欧美天堂| 亚洲私人影院在线观看| 国产精品美女久久久久久久网站| 中文字幕欧美三区| 中文字幕亚洲一区二区av在线| 中文字幕一区二区三区不卡在线| 国产精品高潮久久久久无| 国产精品麻豆网站| 亚洲欧美日韩在线不卡| 一区二区三区 在线观看视频| 一区二区三区在线视频播放| 亚洲一区在线看| 天天综合网天天综合色| 日本三级亚洲精品| 韩国在线一区二区| 成人激情开心网| 99re这里都是精品| 91久久香蕉国产日韩欧美9色| 欧美亚洲日本国产| 欧美一区二区三区思思人| 精品日韩欧美一区二区| 国产欧美综合在线| 亚洲男人的天堂av| 亚洲va国产va欧美va观看| 日本aⅴ精品一区二区三区 | 久久精品亚洲麻豆av一区二区 | 国产在线不卡一区| 成人黄色在线看| 一本色道亚洲精品aⅴ| 欧美色综合久久| 欧美一级免费观看| 久久久久久免费毛片精品| 国产精品美女一区二区| 亚洲午夜精品久久久久久久久| 日韩不卡免费视频| 国产精品一线二线三线| 91丨porny丨在线| 91麻豆精品国产91久久久| 精品成人一区二区三区四区| 亚洲欧洲日产国码二区| 亚洲bt欧美bt精品| 韩国女主播一区| 91亚洲精品一区二区乱码| 欧美美女一区二区| 久久久欧美精品sm网站| 亚洲欧美另类图片小说| 日韩精品一卡二卡三卡四卡无卡| 国产一区二区不卡在线| 91麻豆福利精品推荐| 日韩一区二区免费在线观看| 中文字幕免费在线观看视频一区| 亚洲一区二区三区国产| 久久99精品久久久久久国产越南| 94色蜜桃网一区二区三区| 欧美日韩成人综合| 国产欧美日韩亚州综合| 午夜精品久久久久久久99水蜜桃| 国产乱人伦精品一区二区在线观看 | 国产一区二区三区四区五区美女 | 久久久国产综合精品女国产盗摄| 亚洲精品国产精华液| 极品少妇一区二区三区精品视频| 97se亚洲国产综合在线| 日韩美女视频在线| 亚洲免费观看高清完整版在线观看| 久久狠狠亚洲综合| 色综合夜色一区| 精品国产91亚洲一区二区三区婷婷| 亚洲丝袜精品丝袜在线| 蓝色福利精品导航| 91久久精品一区二区| 欧美精品一区二区三区在线播放 | 国产在线精品一区二区不卡了| 99精品欧美一区二区三区综合在线| 日韩一区二区在线免费观看| 亚洲色欲色欲www| 韩日欧美一区二区三区| 欧美日韩国产天堂| 国产精品成人一区二区三区夜夜夜| 麻豆精品在线看| 欧美在线观看视频在线| 国产精品久久网站| 加勒比av一区二区| 欧美日韩精品免费观看视频| 中文字幕一区日韩精品欧美| 毛片av一区二区| 欧美日韩情趣电影| 中文字幕日本乱码精品影院| 韩国视频一区二区| 在线播放一区二区三区| 亚洲精品高清在线观看| 成人爱爱电影网址| 久久综合色婷婷| 日韩av中文字幕一区二区| 在线观看一区二区视频|