- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我希望能够使用 PythonMagick 生成蒙太奇。文档看起来非常稀疏,但我一直在尝试至少使用 Eclipse 的代码完成部分以及 Stack Overflow 上的其他一些问题的建议来寻找它。根据这个,MagickWand API 似乎具有我正在寻找的功能:
http://www.imagemagick.org/api/MagickWand/montage_8c.html
但是,我似乎无法在 PythonMagick 中找到它。这是根本不可用吗?如果是这样,我可能会放弃我的 PythonMagick 代码的其余部分并依赖于 subprocess.call 在可移植 ImageMagick 发行版或类似的东西上(这个程序必须是可移植的,并且可以在 Windows 上运行,并且可以轻松移植到 Mac OS ...到目前为止,我有一些其他的 PythonMagick 命令在工作,所以如果可能的话,我想继续这条路线。
谢谢!
最佳答案
使用 python imagemagick/graphicsmagick 绑定(bind)有很大帮助,但不幸的是,还没有提供所有功能。我实际上和@FizxMike 有同样的问题。我需要使用蒙太奇,然后再做一些进一步的操作,但是将文件保存在硬盘上,然后将其重新加载到适当的 pgmagick 对象中以执行其余操作并再次保存它很慢。
最终我使用了子进程解决方案,但我没有保存在文件中,而是将输出重定向到标准输出中。然后,我使用标准输出从 pgmagick.Image 对象中的 pgmagick.Blob 加载图像,并在 python 代码中完成其余处理。
程序在代码中看起来像这样:
import os
import pgmagick
import subprocess
my_files = []
# Dir with the images that you want to operate on
dir_with_images = "."
for file in os.listdir(dir_with_images):
if file.endswith(".png"):
my_files.append(os.path.join(dir_with_images, file))
montage_cmd = ['gm', 'montage']
montage_cmd.extend(my_files)
# The trick is in the next line of code. Instead of saving in a file, e.g. myimage.png
# the montaged file will just be "printed" in the stdout with 'png:-'
montage_cmd.extend(['-tile', '2x2', '-background', 'none', '-geometry', '+0+0', 'png:-'])
# Use the command line 'gm montage' since there are not python bindings for it :(
p = subprocess.Popen(montage_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# Get the stdout in a variable
stdout, stderr = p.communicate()
# Load the stdout in a python pgmagick Image object using the pgmagick.Blob
# and do the rest of the editing on python code
img = pgmagick.Image(pgmagick.Blob(stdout))
# Display the image
img.display()
geometry = pgmagick.Geometry(300, 200)
geometry.aspect(True)
# Resize the montaged image to 300x200, but keep the aspect ratio
img.scale(geometry)
# Display it again
img.display()
# And finally save it <- Only once disk access at this point.
img.write('myimage.png')
关于windows - 在 Python 3 中使用 PythonMagick 进行蒙太奇?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361952/
我试过: from PythonMagick import Image img = Image("input.jpg") img.quantizeColorSpace("sRGB") 并得到: Tra
在哪里可以找到 PythonMagick 的文档和示例? 我在 Google 上进行了搜索,但没有找到太多信息。 最佳答案 我也无法在任何地方找到它们,但无论如何我都是这样使用它的。 例子 impor
我正在开发一个应用程序,该应用程序(除其他外)需要读取卫星图像(每个图像只有一个波段)并处理像素数据。 格式是 JPEG-2000,因此我不能使用 PIL 库(它简化了一切)。我找到了 PythonM
有谁知道无需先将其写入磁盘即可从 PythonMagick.Image 实例获取像素数据的方法? 例如,我可以使用以下方式读取图像: import PythonMagick im = PythonMa
我确实很感激the answer by Orbling on .composite() : flattened.composite(img, 0, 0, PythonMagick.CompositeO
我想将一些多页 .tif 或 .pdf 文件转换为单独的 .png 图像。从命令行(使用 ImageMagick)我只是这样做: convert multi_page.pdf file_out.png
我似乎无法在任何地方找到 PythonMagick(ImageMagick 的绑定(bind))文档。即使下载也没有文档文件夹。求链接? 最佳答案 我认为它不再活跃了。 - look here 关于
我已经从 Unofficial Windows Binaries. 下载并安装了适用于 python 2.7、64 位 Windows 7 的 PythonMagick。 我正在尝试运行此代码 (Pr
我正在使用 PythonMagick 缩放和旋转一些 JPEG。理想情况下,我也可以更新 EXIF Orientation 标签。但是,虽然我可以检索此标记的值,但我似乎无法修改它。考虑: from
我正在使用 PythonMagick 将 pdf 转换为图像。我成功地更改了格式,但在此过程中图像质量有所下降。 这是我正在使用的代码。 sample_pdf="test_pdf" sample_im
try: original = PythonMagick.Blob(data) image = PythonMagick.Image(original) except Exceptio
我正在尝试使用 PythonMagick 渲染 SVG->PNG,但似乎忽略了背景颜色。 使用 ImageMagick 命令,一切正常: tmp$ convert -background none a
我希望能够使用 PythonMagick 生成蒙太奇。文档看起来非常稀疏,但我一直在尝试至少使用 Eclipse 的代码完成部分以及 Stack Overflow 上的其他一些问题的建议来寻找它。根据
我正在尝试使用 PythonMagick 将 PDF 转换为 JPG,但我找不到设置背景颜色的方法,默认情况下背景颜色从透明变为黑色。我可以使用 os.system 和 -flatten 参数获得所需
我想将 PythonMagick 图像对象转换为可在 OpenCV 中使用的 NumPy 数组,然后将其转换为 PIL 图像对象。我搜索了谷歌,但找不到任何解释如何执行此操作的资源。有人可以告诉我如何
我是一名优秀的程序员,十分优秀!