2017-10-19 1 views
0

与えられた文字列をグレースケールイメージとしてレンダリングし、続いてそれに対して簡単な操作を行いたい。私はtext()機能を認識しています。残念なことに、これにはグラフィックデバイスを開く必要があります。私の目的のために、代わりにグレースケール画像をマトリックスに直接格納する方がはるかに便利で効率的です。テキストのレンダリングされたグレースケールイメージを行列として取得する

与えられた文字列のレンダリングされたグレースケール画像の行列表現を得る効率的な方法はありますか?リチャード・テルフォードによって示唆されているように

+0

- それはグラフィカルなデバイスを使用します –

答えて

0

magickパッケージには疑問を解く鍵だった:

# Load the package 
require(magick) 

# Create white canvas initializing magick graphical device 
img <- image_graph(width = 140, height = 40, bg = "white", pointsize = 20, 
        res = 120, clip = TRUE, antialias = TRUE) 
# Set margins to 0 
par(mar = c(0,0,0,0)) 

# Initialize plot & print text 
plot(c(0,1), axes = FALSE, main = "", xlab = "", ylab = "", col = "white") 
text(0.95, 0.42, "Test", pos = 4, family = "mono", font = 2) 

# Close the magick image device 
dev.off() 

# Convert to grayscale & extract pixelmatrix as integers 
img <- image_convert(img, colorspace = "gray") 
target <- drop(as.integer(img[[1]])) 
おそらくmagik`パッケージ `でこれを行うことができます
関連する問題