R(画像)

2025年9月22日 (月)

[R]インターネット上の画像をダウンロードする

magickパッケージのimage_read関数を使う。URLを指定して読み込むと、magick-image型で入手できる。これを画像ファイルに保存するには、image_write関数を使う。

以下は、声優「石見舞菜香」の所属する事務所の公式ウェブサイトから、当人の画像ファイルをダウンロードして、自分のパソコンにその画像をPNG形式で保存した例。

> library(magick)
> im <- image_read("https://www.raccoon-dog.co.jp/talent/talentpic/r10.jpg")
> class(im)
[1] "magick-image"
> print(im)
format width height colorspace matte filesize density
1 JPEG 300 400 sRGB FALSE 125201 72x72
> image_write(im, "R_magick_IwamiManaka.png")
> fl <- list.files(".", "R_magick_IwamiManaka\\.png")
> file.info(fl)[c(1, 2, 4)]
size isdir mtime
R_magick_IwamiManaka.png 129884 FALSE 2025-01-29 21:33:30

R_magick_iwamimanaka

2025年9月18日 (木)

[R]無地の画像を作成する

magickパッケージのimage_blank関数を使う。colorオプションにnoneを指定する。戻り値はmagick-image型。これを画像ファイルに出力するには、image_write関数を使う。以下は、大きさの違う無地と黄色一色の画像を作成してファイルに出力した例。

> library(magick)
> im <- image_blank(128, 256, color = "none")
> image_write(im, "R_magick_image_blank1.png")
> im <- image_blank(256, 128, color = "yellow")
> image_write(im, "R_magick_image_blank2.png")
> typeof(im)
[1] "externalptr"
> class(im)
[1] "magick-image"
R_magick_image_blank1 R_magick_image_blank2
R_magick_image_blank1.png R_magick_image_blank2.png

 

 

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

無料ブログはココログ

■■

■■■