微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过命令行重新定向移位/偏移球面360 度图像,例如Imagemagick 还是 GIMP?

如何解决如何通过命令行重新定向移位/偏移球面360 度图像,例如Imagemagick 还是 GIMP?

我正在安装 spherical/360-degree cameras 的远程网络,并且需要让它们生成的图像都与某物(北)对齐。问题是,相机最终可能会面向任何随机方向安装,因此我需要移动/偏移(水平)图像,并将图像边界外的任何内容包裹到另一侧。

在安装每个摄像头后拍摄样本图像后,我将知道偏移图像的正确像素值,并能够在每个摄像头的基础上指定偏移值。

this article 的前半部分解释了如何在 Photoshop 中执行此操作(滤镜菜单 > 其他 > 偏移,指定偏移像素值,然后启用“环绕”选项)。 Photoshop 按定义的像素数偏移图像,多余的部分会自动移动到图像的另一侧,以填充因移动图像而产生的间隙。

在 Linux (Raspbian) 环境中,我只需要通过命令行自动偏移图像并将多余的部分包裹到图像的另一侧,这样图像的任何部分实际上都不会丢失。我无法使用 GUI 来执行此操作,因为我们长期讨论的是数百万张图像。

我尝试使用 Imagemagick 的几何偏移工具 (convert -geometry +0+100 R0011996.JPG) 执行此操作,但是 a) 我不知道如何实际使用它,并且 b) 似乎没有像“ Photoshop 中的环绕”选项。

我刚刚意识到 GIMP 有 an equivalent toola command-line interface 并尝试过,但找不到任何像样的文档。我找到了程序浏览器,它说使用“​​gimp-drawable-offset”。我尝试了以下方法,但失败了:

gimp -i -b '(gimp-drawable-offset "R0011996.JPG" 1 2 300 0)' -b '(set! drawable (car (gimp-image-get-active-layer image)))' -b '(gimp-quit 0)'

批处理命令遇到执行错误错误:类型无效 gimp-drawable-offset 的参数 1

批处理命令遇到执行错误错误:评估:未绑定 变量:图像

gimp -i -b '(gimp-drawable-offset 1 2 300 0)' -b '(set! drawable (car (gimp-image-get-active-layer "R0011996.JPG")))' -b '(gimp-quit 0)'

批处理命令遇到执行错误错误:无效的数量 gimp-drawable-offset 的参数(预期为 5,但收到 4)

批处理命令遇到执行错误错误:类型无效 参数 1 到 gimp-image-get-active-layer

还有……

gimp -i -b '(gimp-drawable-offset "R0011996.JPG" TRUE 2 300 0)' -b '(set! drawable (car (gimp-image-get-active-layer image)))' -b '(gimp-quit 0)'

批处理命令遇到执行错误错误:类型无效 gimp-drawable-offset 的参数 1

批处理命令遇到执行错误错误:评估:未绑定 变量:图像

……还有……

gimp -i -b '(gimp-drawable-offset "R0011996.JPG" TRUE 2 300 0)' -b '(set! drawable (car (gimp-image-get-active-layer "R0011996.JPG")))' -b '(gimp-quit 0)'

批处理命令遇到执行错误错误:类型无效 gimp-drawable-offset 的参数 1

批处理命令遇到执行错误错误:类型无效 参数 1 到 gimp-image-get-active-layer

关于如何实现这一目标有什么建议吗?

提前致谢。

解决方法

感谢 Xenoid,他在评论中做出了回答。解决方法很简单:

convert input.jpg -roll +400+0 output.jpg

其中 400 是像素的 x 偏移,0 是像素的 y 偏移(如果需要,您也可以使用负值来反转偏移方向)。 请参阅“像坏电视一样滚动图像”here 部分。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。