在R中裁剪图像

时间:2017-09-27 04:02:54

标签: r image imagemagick

我正在尝试使用R中的magick包来裁剪图像。我的目标是裁剪图像的左上角部分。到目前为止,我的代码似乎适用于某些图像,但相同的尺寸不适用于其他图像。这是我的代码:

library(magick)
library(tidyverse)   
image_read("http://www.gettyimages.com/gi-resources/images/Plugins/Chrometab.jpg")%>%
image_chop("0x185+190")%>%image_crop("50x55+1")

我正在为几张图片执行此操作,所有图片的尺寸宽度均为320高度240.此代码似乎适用于某些图像,但是对于某些图像,除了左上角之外还会生成其他部分。有没有办法修改我的代码,使其无论图片尺寸如何,它总是会裁剪左上角。

1 个答案:

答案 0 :(得分:0)

我不知道R,但是如果我使用等效的imagemagick命令,你的印章大致裁剪,图像的下半部分和随后的裁剪正在裁剪底部的左上角。你为什么用印章?此外,裁剪后,如果保存为PNG或TIFF,则图像将保留虚拟画布,应使用+ repage删除。不确定R中是什么,但可能是重新加载+ 0 + 0。如果你想裁剪左上角,只需使用-gravity northwest并裁剪你想要的尺寸为WxH + 0 + 0,除非你想要一个偏移代替+ 0 + 0

convert Chrometab.jpg -chop 0x185+190 +write tmp1.png -crop 50x55+1 tmp2.png

tmp1.png

enter image description here

tmp2.png

enter image description here

鉴于:

convert Chrometab.jpg -gravity northwest -crop 50x55+1+0 +repage tmp3.png

tmp3.png

enter image description here