The getAffineTransform() and warpAffine() functions of the OpenImageR package is an RcppArmadillo re-implementation of existing Python Code and this vignette shows how these functions can be used from within R based on the author's .ipynb file
require(OpenImageR) path = system.file('tmp_images', 'landscape.jpg', package = "OpenImageR") img = readImage(path) print(dim(img))
r = ncol(img) c = nrow(img) offset = 50 original_points = matrix(data = c(0, 0, r, 0, 0, c), nrow = 3, ncol = 2, byrow = TRUE) transformed_points = matrix(data = c(offset, 0, r, offset, 0, c-offset), nrow = 3, ncol = 2, byrow = TRUE) M_aff = getAffineTransform(original_points = original_points, transformed_points = transformed_points)
The following is the Affine transformation matrix,
The Affine transformation matrix can be used as input in the warpAffine() function,
res_3d = warpAffine(img = img, M = M_aff, R = r, C = c, verbose = TRUE) str(res_3d)
The next image shows the output based on the input data and parameters,
imageShow(res_3d, clear_viewer = FALSE)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.