如何在python中使用wand设置图像阈值

如何在python中使用wand设置图像阈值,python,imagemagick,wand,Python,Imagemagick,Wand,使用imagemagick,我可以设置图像阈值并指定百分比 convert one.png -threshold 60% two.png 在python中如何使用wand进行同样的操作?我从未使用过wand,但这就是阈值处理的方法。基本上,如果您想对图像设置阈值,您需要将其转换为二值图像(黑白) 所以你要做的是把图像变成灰度,检查像素值,如果它高于某个数字(比如130),如果它高于130,将该值设置为255,否则将其设置为0 我检查了魔杖文档并纠正了我的错误,似乎没有内置的方法来进行阈值处理。

使用imagemagick,我可以设置图像阈值并指定百分比

convert one.png -threshold 60% two.png

在python中如何使用wand进行同样的操作?

我从未使用过wand,但这就是阈值处理的方法。基本上,如果您想对图像设置阈值,您需要将其转换为二值图像(黑白)

所以你要做的是把图像变成灰度,检查像素值,如果它高于某个数字(比如130),如果它高于130,将该值设置为255,否则将其设置为0


我检查了魔杖文档并纠正了我的错误,似乎没有内置的方法来进行阈值处理。

似乎他们仍然没有实施“评估”方法。您可以使用以下解决方法:

import wand.api
import wand.image
import ctypes

MagickEvaluateImage = wand.api.library.MagickEvaluateImage
MagickEvaluateImage.argtypes = [ctypes.c_void_p, ctypes.c_int, ctypes.c_double]

def evaluate(self, operation, argument):
  MagickEvaluateImage(
      self.wand,
      wand.image.EVALUATE_OPS.index(operation),
      self.quantum_range * float(argument))

with wand.image.Image(filename='one.png') as img:
  evaluate(img, 'threshold', 0.60)
  img.save(filename='two.png')
非常有用的信息:)谢谢!