R(画像)

2025年2月 2日 (日)

[R]画像の大きさを変える

magickパッケージのimage_resize関数を使う。元の画像をmagick-image型で用意して、この関数に当てはめればよい。

以下は、声優瀬戸麻沙美の公式ウェブサイトのページから画像ファイルをダウンロードしてパソコン内に保存し、その画像の大きさを変えた例。アップロードされているオリジナルの画像(横660ピクセル、縦906ピクセル)を縦横50%ずつ縮めている。~1.pngがオリジナル、~2.pngが縦横50%に縮めた画像。

> library(magick)
> im <- image_read("https://www.starcrew.co.jp/wp-content/uploads/2022/11/TALENT02.jpg")
> print(im)
format width height colorspace matte filesize density
1 JPEG 660 906 sRGB FALSE 260047 72x72
> image_write(im, "R_magick_SetoAsami1.png")
> im <- image_resize(im, geometry = "50%")
> print(im)
format width height colorspace matte filesize density
1 JPEG 330 453 sRGB FALSE 0 72x72
> image_write(im, "R_magick_SetoAsami2.png")

R_magick_setoasami1R_magick_setoasami2

左:R_magick_SetoAsami1.png、右:R_magick_SetoAsami2.png

2025年1月30日 (木)

[R]画像の大きさを変える

magickパッケージのimage_resize関数を使う。元の画像をmagick-image型で用意して、この関数に当てはめればよい。

以下は、声優安野希世乃の公式ウェブサイトのページから画像ファイルをダウンロードしてパソコン内に保存し、その画像の大きさを変えた例。見てのとおりアップロードされているオリジナルの画像は非常に大きい(横3422ピクセル、縦5192ピクセル)ため、それぞれ10%ずつ縮めている。~1.pngがオリジナル、~2.pngが縦横10%に縮めた画像。

> library(magick)
> im <- image_read("https://img.imageimg.net/artist/kiyono-yasuno/img/profile.jpg")
> print(im)
format width height colorspace matte filesize density
1 JPEG 3422 5192 sRGB FALSE 1103106 350x350
> image_write(im, "R_magick_YasunoKiyono1.png")
> im <- image_resize(im, geometry = "10%")
> print(im)
format width height colorspace matte filesize density
1 JPEG 342 519 sRGB FALSE 0 350x350
> image_write(im, "R_magick_YasunoKiyono2.png")
R_magick_yasunokiyono1 R_magick_yasunokiyono2
R_magick_YasunoKiyono1.png R_magick_YasunoKiyono2.png

 

2023年10月25日 (水)

[R]図を画像ファイルに出力する

PNG形式であればpng関数、JPEG形式であればjpeg関数、TIFF形式であればtiff関数を使う。各関数は、いずれも図を描画する際の出力先をファイルに変更する関数であり、図の描画が終わったら、dev.off関数を必ず実行しなければならない。dev.off関数を実行することで、ファイルへの出力が完了する。

出力時の画像の大きさを指定することができる。widthオプションには横方向の大きさ(単位はピクセル)、heightオプションには縦方向の大きさ(同)を指定する。

> x <- seq(0, 6 * pi, length = 100)
> y1 <- sin(x)
> y2 <- sin(8 * x)
> png("pngfunc.png", width = 512, height = 256)
> plot(x, y1 + y2, asp = 1., type = "l")
> dev.off()
null device
1
> jpeg("jpegfunc.jpg", width = 512, height = 256)
> plot(x, y1 + y2, asp = 1., type = "l")
> dev.off()
null device
1
> tiff("tifffunc.tif", width = 512, height = 256)
> plot(x, y1 + y2, asp = 1., type = "l")
> dev.off()
null device
1

Pngfunc Jpegfunc

無料ブログはココログ

■■

■■■