Python-Wand 序列未从内存中清除

2023-11-26

如果我执行以下操作

for root, dirs, files in os.walk(myDir):
  for myFile in files:
    with Image(filename=myFile) as img:
      with Image(image=img) as main:
        print main.sequence[0].width

我在使用 Wand 时遇到了内存错误。

我确信这是 .sequence 部分。如果我把它去掉,那就没问题了。我已经阅读了我能找到的所有序列,它是图像与单个图像的区别。

SingleImage 序列部分保留在内存中。我尝试使用以下内容:

main.sequence[0].destroy()

但它并没有消除记忆中的图像。

我正在处理数千个文件,但在处理了几十个文件后,我就遇到了分段错误。

我很确定它关闭了“主”图像。只是不是 main.sequence SingleImage。

有没有办法强制关闭呢?

我应该说我也尝试过这个

with Image(image=img.sequence[0]) as main:

认为 With 语句会间接关闭它。但事实并非如此。

有人可以帮忙吗?


首先要做的事情 - 归档用魔杖的虫子. The wand.image.Image.destroy没有清理干净wand.image.Sequence如果分配了图像序列。好发现!

你是绝对正确的main.sequence[0].destroy();但是,您只能释放第一个分配的SingleImage在序列中。所以img.sequence[1:]仍留在记忆中。一个不太优雅的解决方案是迭代并销毁所有SingleImage's.

for root, dirs, files in os.walk(myDir):
  for myFile in files:
    with Image(filename=myFile) as img:
      with Image(image=img) as main:
        first = True
        for frame in main.sequence:
           if first:
             print frame.width
             first = False
           frame.destroy()

comment:从文件中读取图像img,将数据复制到main,并且在序列中创建子图像似乎非常占用内存。我确信您所做的不仅仅是识别图像宽度,但是可以重写吗? Imagemagick确实有一个ping方法(尚未实现wand),它不会将图像数据读入内存。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-Wand 序列未从内存中清除 的相关文章

  • 调整图像大小而不丢失 EXIF 数据?

    我编写了一个小脚本 可以从 FTP 服务器下载 TIFF 图像 然后调整它们的大小并将它们保存为 JPG 到目前为止 一切顺利 但在压缩步骤 如下所列 中 我丢失了文件中的 EXIF 数据 有没有一种优雅的方法可以在不丢失 EXIF 数据的
  • 使用 imagemagick 中的颜色列表重新映射/分离图像颜色

    假设我有这个图像 我想将颜色数量减少到 3 种 如下所示 为此 我应用了以下命令 convert orange jpg remap palette png orange output png where palette png looks
  • 在 Mediawiki 中上传时调整图像大小

    理想情况下 我在上传到 mediawiki 的所有图像上调整大小并设置 maxWidth 和 maxHeight 后 看完了文档 https www mediawiki org wiki Manual Image administratio
  • 如何使用 imagemagick 制作高质量的动画图像

    我想从这些 png 图像制作一个动画 gif 我用这个命令来做到这一点 convert layers OptimizePlus delay 25x100 ps1 png loop 0 ps1 gif 它成功制作了 gif 动画 但是输出的质
  • 使用 php Imagemagick 调整图像大小

    我正在尝试使用 imagemagick 的函数 thumbnailImage 调整图像大小 现在 我之后没有对图像进行任何操作 只是回显新的尺寸以查看它是否有效 到目前为止 它还不起作用 这是我的代码 注意 它确实呼应了原始尺寸 但不是新尺
  • 仅当宽度超过 Graphics/Image Magick 时如何调整图像大小

    正如这里所见 http www imagemagick org Usage resize shrink http www imagemagick org Usage resize shrink选项 resize 64x64 gt 仅当宽度和
  • 来自相机的原始图像数据,如“645 PRO”

    不久前我已经问过这个问题并且我也得到了很好的答案 我一直在这个论坛上上下搜索 但找不到我想要的东西 真的需要 我想从相机获取原始图像数据 至目前为止 我试图从中获取 imageDataSampleBuffer 中的数据 方法 capture
  • Fabric js 或 imagick 从图像中删除白色

    我遇到了这种情况 我很难在谷歌上搜索并解释 我们公司在铝上打印照片 我们为客户提供两种选择 第一个选择是将他们的照片打印在铝上 就像 他们把照片给了我们 所以如果照片有白色 背景 图片以白色背景打印 简单的 像那样 第二个选项是我们可以打印
  • Rails 3 - RMagick 使用 Paperclip 找不到 libfreetype.6.dylib

    我正在尝试使用回形针上传一些图像 它工作正常 但如果我想添加一些样式 styles gt small gt 100x100 它不再工作了 我收到此错误消息 myImage 识别 命令无法识别 所以 我在网上找到了一些提示 我用 Brew 安
  • 意象。将颜色更改为透明

    我想更改此图像的黑色边框 http dev loungeup net im http dev loungeup net im 使用 PHP 中的 Imagick 实现透明 结果图像应该具有可见的灰色边框 灰色边框内的图像可见 灰色边框之外的
  • 如何使用c#读取EPS的属性或颜色信息?

    我的要求是读取另外50个EPS文件并导出EPS的属性 颜色模式 这可能吗 颜色模式有灰度 RGB 和 CMYK 到目前为止 我尝试使用 BitmapImage 来读取 EPS 但我没有运气 BitmapImage 不读取 EPS 因为它是矢
  • ImageMagick 将白色变为透明背景,同时保持白色对象

    我正在使用 PHP图像魔术师 http php net manual en book imagick php将图像的白色背景变为透明 我将图像 URL 传递给这个 PHP 脚本 它返回图像
  • 如何在AWS Lambda函数中使用ImageMagick“drawtext”方法?

    我目前正在使用 Node gm 模块显示的 ImageMagick 7 运行 Node 8 Lambda 函数 https github com aeckmann gm https github com aheckmann gm 来注释一些
  • 将图像裁剪或遮罩成圆形

    使用 ImageMagick 或 GD 库将图像裁剪或遮罩成圆形形状的最佳方法是什么 请注意 解决方案存在于 其他 问答网站上 但不存在于 StackOverflow 上 这是使用 ImageMagick 的一种方法 无需使用遮罩即可实现此
  • 使用 (imagemagick) `mogrify` 将 webp 文件转换为动画 gif 时如何避免丢失?

    使用此代码mogrify format gif webp我在另一个论坛找到的https superuser com questions 1506337 batch convert webp files to gif files offlin
  • 在 R 中导入 png 文件并转换为动画(.mp4)

    我正在尝试用 R 中的几个 png 文件创建一个简短的动画 我尝试了 packagemagick但只有当我将它们保存为 gif 时它才有效 当我尝试另存为 mp4 时 它将生成一个 mp4 文件 但一旦打开它 只会显示第一张图像 我的代码是
  • 从 GIF 提取帧到 PNG 时丢失数据?

    当我尝试使用 fraxel 的答案时 http stackoverflow com questions 10269099 pil convert gif frames to jpg 在图像上http 24 media tumblr com
  • 使用 ImageMagick 从文本生成图像?

    我正在尝试使用 ImageMagick 创建 3840 x 2160 的缩略图 我需要图像具有黑色背景和白色文本 文本应垂直和水平居中 我希望能够设置字体大小 但如果文本超出图像 则会自动减小字体大小 使其适合左侧和右侧的一定量的填充 我将
  • 黑白 PNG 转 SVG

    我有一个河流 土地掩码来区分土地与河流 湖泊 该文件的大小为 W 43 200x H 21 600 由于 RAM 立即填满 因此无法打开该文件 我已将文件分成 3600 3600 块 它们可以正常打开 然而 我试图在谷歌地图中绘制陆地上的文
  • 消除 ffmpeg 和 image-magic 命令中的慢速因素

    这些命令的基本思想是创建一个比较 比较定义了过去的一张 jpeg 和现在的一张 jpeg 组合起来 例如它们将相互滑动并显示前后图像 e g https media evercam io v1 cameras 1lowe scnoe com

随机推荐

  • Perl 正则表达式中的转义特殊字符

    我正在尝试匹配 Perl 中的正则表达式 我的代码如下所示 my source Hello version Goodbye version my pattern Hello version if source m pattern print
  • 如何在 Android Javadoc 中引用 XML 文件? [复制]

    这个问题在这里已经有答案了 有没有办法使用 JavaDoc 链接来引用 Android XML 文件res folder 就像是 link res values custom strings xml link com yourApp R l
  • 如何备份SQL Server代理作业?

    如何备份和恢复 SQL Server 2005 代理作业计划 msdb 数据库是所有作业所在的地方 它是系统数据库之一
  • add2virtualenv(virtualenv 包装器)不适用于 scipy

    我想创建一个没有全局 python 包的 virtualenv 但具有共享的 scipy 发行版 安装 scipy 需要相当长的时间 我不想太频繁地走过场 所以我跑add2virtualenv Library Python 2 7 site
  • 如何通过不可靠的网络同步媒体播放?

    我希望我可以在一台计算机上播放音乐或视频 并让第二台计算机同步播放相同的媒体 例如 我可以同时听到两台计算机的扬声器的声音 这听起来并不好笑 我想通过 Wi Fi 来完成此操作 但 Wi Fi 有点不可靠 从算法上来说 解决这个问题的最佳方
  • @Autowired 对象获取空值

    尝试建立一个项目 但通过 Spring 自动装配对象失败 package se hsr web public class TestRunner public static void main String args ContactDAO c
  • 使用 git 时 Mac/Windows 的文件权限问题

    我运行以下代码从 Windows git 存储库中提取文件 git pull Volumes sucho Desktop git setup 我按如下方式连接 Windows 目录 tell application Finder mount
  • 忽略 querySelectorAll 中的大小写敏感性

    我有这个代码 a href Click a a href Click a a href Click a a href Click a 现在 使用console log document querySelectorAll a href jav
  • “该节点不是使用 replSet 选项启动的”

    我正在学习MongoDB大学 s M101P 面向开发人员的 MongoDB课程 我在用连线虎 on MongoDB 3 2 我目前的主题是副本集 该课程要求我使用以下代码创建一个副本集 mongod replSet rs1 logpath
  • 对齐wpf选项卡控制条

    我正在尝试在右侧对齐选项卡控制条 需要明确的是 我希望选项卡位于顶部 tabstripplacement 但在右侧对齐 的标题TabItem位于类型面板中TabPanel 我们可以添加HorizontalAlignment Right 在资
  • Angular.js 和 Adsense

    我正在尝试在我的 angular js 应用程序上放置广告 我做了一些阅读 发现不可能只复制并粘贴正常的 adsense 代码 我听说你应该 用嵌入将其包装在指令中 我能找到的唯一示例是另一个 Stackoverflow 帖子 Angula
  • 从代码更改清单元数据

    我有一个使用广告的应用程序 广告 ID 通过元数据标签在清单 ID 中设置 在某些情况下 我想在启动应用程序时更改此标签 某些本地化版本的 ID 不同 我可以在代码中做到这一点吗 清单元数据无法在运行时更改 您应该查看您的广告库是否允许直接
  • Eclipse Android SDK - 构建工作区时出错

    我已使用 Android SDK Manager 更新了我的软件包 并单击 帮助 gt 检查更新并更新了已安装的插件 提示我重新启动eclipse 现在重新启动后 我收到以下错误代码 Building workspace has encou
  • 在 Swift SpriteKit 项目中播放声音?

    当我运行这段代码时 runAction SKAction playSoundFileNamed Click mp3 waitForCompletion false 我的应用程序崩溃了 由于未捕获的异常 NSInvalidArgumentEx
  • 如何使 jQuery UI 'draggable()' div 可拖动用于触摸屏?

    我有一个 jQuery 用户界面draggable 适用于 Firefox 和 Chrome 用户界面概念基本上是单击以创建 便利贴 类型的项目 基本上 我点击或点击div everything 100 高和宽 监听点击 并显示输入文本区域
  • 如何在每个 jupyter Notebook 内核之前运行 Python 代码

    假设我有一个代码片段 我想在每次打开 jupyter 笔记本时运行 在我的例子中 它打开 Spark 连接 假设我将该代码保存在 py 脚本中 启动 py sc This is a spark connection 我希望每次打开内核时都能
  • Spark Scala - java.util.NoSuchElementException 和数据清理

    我有过一次之前有类似问题 但我正在寻找一个普遍的答案 我在用火花核心LP获取电子邮件的情绪分数 有时 sentiment 在某些输入上崩溃 可能太长 可能有意外的字符 它没有告诉我它在某些情况下崩溃 只是返回Column sentiment
  • 产品处于应用程序计费托管和非托管状态

    我对 android 很陌生 我正在研究应用程序内计费 我的问题是添加应用程序内产品时托管和非托管状态的主要目的是什么 任何人都可以告诉我托管状态有什么用 非托管状态有什么用 托管和非托管之间的主要区别在于 托管购买只能购买一次 并且与购买
  • 何时更新审核字段? DDD

    我有一个会议对象 Meeting id name time CreatedBy UpdatedBy and a MeetingAssignee id MeetingID EmployeeId CreatedBy UpdatedBy 会议作为
  • Python-Wand 序列未从内存中清除

    如果我执行以下操作 for root dirs files in os walk myDir for myFile in files with Image filename myFile as img with Image image im