Я работаю над проектом, использующим Python (3.6), в котором мне нужно использовать модуль Pgmagick для работы с изображениями. Я установил модуль, используя: pip install pgmagick
, как указано на главной странице пакета здесь . Когда я импортирую модуль и пытаюсь запустить файл python, он возвращает ошибку:
<module>
from pgmagick import _pgmagick
ImportError: dlopen(/Users/abdul/ImgSegEnv/lib/python3.6/site-packages/pgmagick/_pgmagick.cpython-36m-darwin.so, 2): Library not loaded: /usr/local/opt/boost-python3/lib/libboost_python36.dylib
Referenced from: /Users/abdul/ImgSegEnv/lib/python3.6/site-packages/pgmagick/_pgmagick.cpython-36m-darwin.so
Reason: image not found
И вот мой код:
import pgmagick as pg
def trans_mask_sobel(img):
""" Generate a transparency mask for a given image """
image = pg.Image(img)
# Find object
image.negate()
image.edge()
image.blur(1)
image.threshold(24)
image.adaptiveThreshold(5, 5, 5)
# Fill background
image.fillColor('magenta')
w, h = image.size().width(), image.size().height()
image.floodFillColor('0x0', 'magenta')
image.floodFillColor('0x0+%s+0' % (w-1), 'magenta')
image.floodFillColor('0x0+0+%s' % (h-1), 'magenta')
image.floodFillColor('0x0+%s+%s' % (w-1, h-1), 'magenta')
image.transparent('magenta')
return image
def alpha_composite(image, mask):
""" Composite two images together by overriding one opacity channel """
compos = pg.Image(mask)
compos.composite(
image,
image.size(),
pg.CompositeOperator.CopyOpacityCompositeOp
)
return compos
def remove_background(filename):
""" Remove the background of the image in 'filename' """
img = pg.Image(filename)
transmask = trans_mask_sobel(img)
img = alpha_composite(transmask, img)
img.trim()
img.write('IMAGE_PATH_SAVE')
remove_background('IMAGE_PATH')
Что здесь может быть не так?
Заранее спасибо!