日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

骰子作画的算法

發布時間:2024/8/23 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 骰子作画的算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

骰子作畫的算法

來源:?阮一峰的網絡日志


程序員Scott MacDonald做了一個很有趣的項目----骰子作畫。

他用黑底白點的骰子。



模擬出一張人像照片。



把圖像放大,就可以看得更清楚。



他一共用了2500多顆骰子。



最后的成品就是這樣。



任何一張圖片都可以用骰子模擬出來,算法非常簡單:將圖片分成若干個區域,每個區域經過計算以后,用1-6之間的一個整數表示,代表骰子的一個面。這種將連續的量轉化成不連續的整數的算法,屬于vector quantization(矢量量化)的一個應用。


具體來說,

第一步,將圖片分割成16像素x16像素的小方塊。


  for (int i=0; i < (pic_width/16); ++i) {

    for (int j=0; j < (pic_height/16); ++j) {

      patch = cropped_img.get(i*16, j*16, 16, 16);

    }

  }


第二步,每個小方塊內共有256個像素,將每個像素點的灰度值,存入一個數組。


  for (int k=0; k < patch.pixels.length; ++k) {

   x[k] = rgb2gray(patch.pixels[k]);

  }

  int rgb2gray(int argb) {?

    int _alpha = (argb >> 24) & 0xFF;

    int _red = (argb >> 16) & 0xFF;

    int _green = (argb >> 8 ) & 0xFF;

    int _blue = (argb) & 0xFF;

    return int(0.3*_red + 0.59*_green + 0.11*_blue);

  }


第三步,計算該數組的平均值,并用1-6之間的一個整數來表示。


  int dice_num = six_step_gray(mean(x));

  int mean(int[] x) {

    float m = 0;

    for (int i=0; i < x.length; ++i) {

      m += x[i];

    }

    m = m/x.length;?

    return int(m);

  }

  int six_step_gray(int x) {

    if (0 <= x && x <= 41) return 1;

    if (41 < x && x <= 83) return 2;

    if (83 < x && x <= 124) return 3;

    if (124 < x && x <= 165) return 4;

    if (165 < x && x <= 206) return 5;

    if (206 < x && x <= 247) return 6;

    else return 6;
  }


整數1,表示骰子朝上的一面有1個白點;整數2,表示有2個白點;以此類推。白點越少,表示這個區域越接近全黑;白點越多,表示越接近全白。根據白點值,將骰子依次放入,就能模擬出全圖。


這種算法早在1981年就有人提出,當時用的是1~9個白點的多米諾骨牌。



如果區域劃分得越小,模擬圖的生成效果就越好。



此外,不用編程,使用Photoshop也可以得到類似效果。


-----------------

明明共同關注公眾號,彼此卻互不認識;

明明具有相同的愛好,卻無緣相識;

有沒有覺得這就是上帝給我們的一個bug!

想不想認識更多寫程序的小伙伴?

C++,Java,VB……應有盡有。

還等什么?趕快上車加入我們吧!

(・??・?)っ算法與數學之美-計算機粉絲群

我們在這里等你喲

算法數學之美微信公眾號歡迎賜稿

稿件涉及數學、物理、算法、計算機、編程等相關領域。

稿件一經采用,我們將奉上稿酬。

投稿郵箱:math_alg@163.com
商務合作:微信號hengzi5809

總結

以上是生活随笔為你收集整理的骰子作画的算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩午夜精品视频 | 国产午夜伦理 | 久久精品久久精品久久 | 91麻豆精品国产91久久久无需广告 | 插插插综合 | 69色堂| 99精品视频一区二区三区 | 伊人久久在线 | 国产精品免费一区二区三区四区 | 国产亚洲精品久久久 | 国产免费播放 | 久久久无码一区二区三区 | 在线免费观看黄视频 | 寡妇一级片 | 国毛片 | 好吊妞操 | 欧美日韩首页 | 青青草综合视频 | 歪歪6080| 91精品国自产在线 | 亚洲第一免费播放区 | 亚洲一二三四五 | a级一级黄色片 | 91视频黄| 成人hd| 麻豆影视av | 久久福利影院 | 黄色自拍视频 | 成人在线免费播放 | www天天干| 久久精品男人的天堂 | 精品久久久久久久久久岛国gif | 99热网| 国产黄色91 | 亚洲伦理在线播放 | 女人天堂网 | 午夜伦理av| 欧美少妇xxx | 欧美日韩精品一区 | 免费a在线观看播放 | 日韩视频在线观看 | 538精品在线视频 | 成年人黄色片网站 | 巨乳美女被爆操 | 免费色网址 | 欧美人与动物xxx | 人妻少妇久久中文字幕 | 在线黄色大片 | 三级在线网站 | 精品国产乱码久久久久久1区2区 | 久久精国产 | 亚洲精品乱码 | 裸体女人a级一片 | 亚洲不卡影院 | 日本高清不卡二区 | 国产精品自拍小视频 | 日日摸夜夜 | 中文一级片 | 亚洲一区二区在线免费 | 精品在线观看免费 | 日韩国产一区二区三区 | 久久精品国产熟女亚洲AV麻豆 | 牛牛精品视频 | 亚洲国产小视频 | 和漂亮岳做爰3中文字幕 | 致单身男女免费观看完整版 | 91色视频在线观看 | 乱色视频 | 日本一二区视频 | 男朋友是消防员第一季 | 亚洲理伦电影 | 色综合天天综合网天天看片 | 日韩二区三区 | 婷婷色在线视频 | www.男人的天堂| 亚洲精品小视频在线观看 | 91麻豆精品国产91 | 久久久中文字幕 | 青青草在线免费视频 | 国产在线精品一区 | 男女黄床上色视频免费的软件 | 97超碰人| 国产黄a三级三级看三级 | 伊人逼逼 | 在线免费看污片 | 一区精品视频 | 亚洲精品视频在线播放 | 五月香蕉网 | 在线观看亚洲专区 | 欧美日韩一区二区在线播放 | a∨鲁丝一区鲁丝二区鲁丝三区 | 国产大片一区二区 | 网址av | 大尺度做爰呻吟舌吻情头 | 欧美a级在线免费观看 | 青青在线精品 | 97视频在线 | 国产精品成人av性教育 | 日韩少妇裸体做爰视频 |