DeepLearning4j - INDArray 轉(zhuǎn)為圖像

三通通道彩色圖

代碼引自:https://github.com/sjsdfg/dl4j-tutorials/blob/master/src/main/java/styletransfer/NeuralStyleTransfer.java

 /**
 * Takes an INDArray containing an image loaded using the native image loader
 * libraries associated with DL4J, and converts it into a BufferedImage.
 * The INDArray contains the color values split up across three channels (RGB)
 * and in the integer range 0-255.
 *
 * @param array INDArray containing an image
 * @return BufferedImage
 */
private BufferedImage imageFromINDArray(INDArray array) {
    long[] shape = array.shape();

    long height = shape[2];
    long width = shape[3];
    BufferedImage image = new BufferedImage((int)width, (int)height, BufferedImage.TYPE_INT_RGB);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            int red = array.getInt(0, 2, y, x);
            int green = array.getInt(0, 1, y, x);
            int blue = array.getInt(0, 0, y, x);

            //handle out of bounds pixel values
            red = Math.min(red, 255);
            green = Math.min(green, 255);
            blue = Math.min(blue, 255);

            red = Math.max(red, 0);
            green = Math.max(green, 0);
            blue = Math.max(blue, 0);
            image.setRGB(x, y, new Color(red, green, blue).getRGB());
        }
    }
    return image;
}

單通道灰度圖

代碼引自:https://github.com/sjsdfg/dl4j-tutorials/blob/master/src/main/java/lesson6/UsingModelToPredict.java

/**
 * 將單通道的 INDArray 保存為灰度圖
 *
 * There's also NativeImageLoader.asMat(INDArray) and we can then use OpenCV to save it as an image file.
 *
 * @param array 輸入
 * @return 灰度圖轉(zhuǎn)化
 */
private static BufferedImage imageFromINDArray(INDArray array) {
    long[] shape = array.shape();

    int height = (int)shape[2];
    int width = (int)shape[3];
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            int gray = array.getInt(0, 0, y, x);

            // handle out of bounds pixel values
            gray = Math.min(gray, 255);
            gray = Math.max(gray, 0);

            image.getRaster().setSample(x, y, 0, gray);
        }
    }
    return image;
}

Java2DNativeImageLoader

文檔地址:https://deeplearning4j.org/api/latest/org/datavec/image/loader/Java2DNativeImageLoader.html

new Java2DNativeImageLoader().asBufferedImage(array);

保存圖片到本地

private void saveImage(INDArray combination, int iteration) throws IOException {
    IMAGE_PRE_PROCESSOR.revertFeatures(combination);

    BufferedImage output = imageFromINDArray(combination);
    URL resource = getClass().getResource(OUTPUT_PATH);
    File file = new File(resource.getPath() + "/iteration" + iteration + ".jpg");
    ImageIO.write(output, "jpg", file);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钻弄,一起剝皮案震驚了整個濱河市链峭,隨后出現(xiàn)的幾起案子屏轰,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡顾犹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門褒墨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炫刷,“玉大人,你說我怎么就攤上這事貌亭〖砦ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵圃庭,是天一觀的道長锄奢。 經(jīng)常有香客問我,道長剧腻,這世上最難降的妖魔是什么拘央? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮书在,結(jié)果婚禮上灰伟,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好栏账,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布帖族。 她就那樣靜靜地躺著,像睡著了一般挡爵。 火紅的嫁衣襯著肌膚如雪竖般。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天茶鹃,我揣著相機與錄音涣雕,去河邊找鬼。 笑死闭翩,一個胖子當著我的面吹牛挣郭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疗韵,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼兑障,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了伶棒?” 一聲冷哼從身側(cè)響起旺垒,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤彩库,失蹤者是張志新(化名)和其女友劉穎肤无,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骇钦,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡宛渐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了眯搭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窥翩。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鳞仙,靈堂內(nèi)的尸體忽然破棺而出寇蚊,到底是詐尸還是另有隱情,我是刑警寧澤棍好,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布仗岸,位于F島的核電站,受9級特大地震影響借笙,放射性物質(zhì)發(fā)生泄漏扒怖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一业稼、第九天 我趴在偏房一處隱蔽的房頂上張望盗痒。 院中可真熱鬧,春花似錦低散、人聲如沸俯邓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽稽鞭。三九已至君编,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間川慌,已是汗流浹背吃嘿。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留梦重,地道東北人兑燥。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像琴拧,于是被迫代替她去往敵國和親降瞳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • jHipster - 微服務(wù)搭建 CC_簡書[http://www.reibang.com/u/be0d56c4...
    quanjj閱讀 812評論 0 2
  • 今日踐行: 1蚓胸、聽讀古詩《憶江南 2挣饥、讀繪本《漢娜的驚喜》 3、點讀英語1本 晚上沛膳,讓孩子挑他喜歡的事情做扔枫,他...
    智慧拼搏閱讀 191評論 0 0
  • 我有一個同桌短荐,她的名字很親切,很好聽叹哭。她的名字叫韓雨忍宋,他的變化,跟班級的變化很像风罩,很像糠排。 我第...
    王明亮_fcc0閱讀 327評論 5 1
  • 湘江北去 她漠然落筆,像是一塵了如故超升,絲毫不關(guān)乎入宦。那割破的脈搏,像是流云行霜廓俭,止不住的云石,是鮮血。 一月添香研乒,二月夜...
    時無一閱讀 1,829評論 30 22