2017-12-03 18 views
1

magickパッケージで素晴らしい画像操作機能を使用したいと思っています。 hereを見てみると、3Dマトリクス(幅x高さxチャンネル)をmagickオブジェクトに変換する方法と、その逆の方法を見つけることができないようです。R:3Dマトリクスを「magick」オブジェクトに変換する/逆に変換する

height <- 100 
width <- 80 
X <- array(runif(height * width * 3, min = 0, max = 255), c(height, width, 3)) 

magick::as.magick(X) %>% magick::image_scale("500x400") 

(もちろん、私は、ディスクへの行列のように書くことができる:

  • as.matrix機能が

を動作しません。しかし、私はのような何かをしたいと思い何as.magick機能

  • ありませんイメージは、magick::image_readでそれを読んでください、それは過剰なものでしょう)

    私は何を欠席しましたか?

  • 答えて

    2

    image_read()を使用してマトリックスを読み取ることもできます。ただし、倍精度の場合は、0と1の間の値をスケーリングするのがコンベンションであることに注意してください。

    image_data(img, 'rgba') 
    

    それともimg[[1]]と同様に動作します:あなたが戻って配列に魔術オブジェクトを変換したい場合は

    img <- magick::image_read(X/255) %>% magick::image_scale("500x400") 
    

    :だから、あなたはこれを試してみてください255であなたのXを分割する必要があります。

    +0

    O.M.G.ありがとう! –

    関連する問題