首页 > 解决方案 > 如何在pyvips中分配图像组件?

问题描述

我正在使用具有特殊图像对象的pyvips库,这些对象具有对应于 HSV(或其他)颜色空间分量的 3 个波段。问题是,在过滤 HSV 组件之一后,不允许将其再次分配给原始图像。在此代码中,您可以看到写入的内容和错误。

import pyvips
image = pyvips.Image.new_from_file('image.jpg', access='sequential')
image_hsv= image.colourspace("hsv")
result = image_hsv[0].hist_local(40, 40, max_slope=5)
image_hsv[0] = result

TypeError:“图像”对象不支持项目分配

我也尝试直接为 numpy 分配一个数组,image_hsv[0]但都没有工作。

库文档:此处的文档https://libvips.github.io/pyvips/

图片对象文档:https ://libvips.github.io/pyvips/vimage.html

标签: pythonpython-3.xobjectimage-processingpython-object

解决方案


它最终通过避免辅助变量对我有用。

image = pyvips.Image.new_from_file('image.jpg', access='sequential')
image_hsv= image.colourspace("hsv")
image_hsv[0].hist_local(40, 40, max_slope=5)

推荐阅读