knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)

im2pix

R-CMD-check

im2pix is a tool to convert image to pseudo pixel art in R. It's a reduced version of Nathan Harper's Python script. The author of this package do not own the copyright of this algorithm.

Installation

You can install the released version of im2pix from GitHub with:

devtools::install_github("TengMCing/im2pix")

For macOS users

This package heavily depends on the imager package. You may get an error like this when you run the imtopix() function or load the imager package on macOS.

Loading required package: imager
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/Library/Frameworks/R.framework/Versions/3.3/Resources/library/imager/libs/imager.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.3/Resources/library/imager/libs/imager.so, 6): Library not loaded: /opt/X11/lib/libX11.6.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.3/Resources/library/imager/libs/imager.so
  Reason: image not found

This is because you are missing X11 so you need to install/reinstall the latest version of XQuartz (https://www.xquartz.org/).

Example

library(im2pix)
library(imager)

The built-in image

plot(sample_im)

Covert the image to pseudo pixel art using palette "contra". Increase the block size will decrease the output resolution.

The imtopix() function only accepts cimg class object/image which can be loaded from disk by imager::load.image(<path_to_image>) or created from a matrix-like object by imager::as.cimg(<matrix-like_object>).

out_pic <- imtopix(sample_im, pal = "contra", blockSize = 8)
plot(out_pic)

Using another palette

out_pic <- imtopix(sample_im, pal = "gameboy", blockSize = 8)
plot(out_pic)

Available palettes include

names(pal_collection)


TengMCing/im2pix documentation built on Feb. 2, 2021, 11:43 a.m.