Как назначить компоненты изображения в pyvips?

#python #python-3.x #object #image-processing #python-object

Вопрос:

Я использую библиотеку pyvips, в которой есть специальный объект для изображений, эти объекты имеют 3 полосы, соответствующие компонентам цветового пространства HSV (или другим). Проблема заключается в том, что после фильтрации одного из компонентов 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
 

Ошибка типа: объект «Изображение» не поддерживает назначение элемента

Я также попытался напрямую назначить массив numpy image_hsv[0] , но ни то, ни другое не сработало.

Библиотечный документ: документация здесь https://libvips.github.io/pyvips/

Документ об объекте изображения: https://libvips.github.io/pyvips/vimage.html

Ответ №1:

В конце концов это сработало для меня, поскольку я избегал вспомогательных переменных.

 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)