如何将WhiteThresholdImage与magick ++一起使用?
我搜索它,我找到了解决方案,所以我尝试:
#include <Magick++.h>
using namespace Magick;
int main()
{
Magick::InitializeMagick("");
Image image;
image.read("logo.jpg");
char* threshold = 20;
MagickLib::WhiteThresholdImage(image, threshold);
}
错误:无法将'Magick :: Image'转换为'MagickLib :: Image * {aka MagickLib :: _ Image *}'以将参数'1'转换为'unsigned int MagickLib :: WhiteThresholdImage(MagickLib :: Image *,const char *) “
#include
using namespace Magick;
int main()
{
Magick::InitializeMagick("");
Image image;
image.read("logo.jpg");
char* threshold = 20;
WhiteThresholdImage(image, threshold);
}
错误:未在此范围内声明'WhiteThresholdImage'
答案 0 :(得分:1)
您正在将C API与C ++ API混合使用,并且不能像这样混合使用。
WhiteThresholdImage()函数不通过Magick ++公开。但是,quantumOperator()方法可以做同样的事情(以及更多)。以下将白色阈值像素超过数值范围的20%变为白色:
image.quantumOperator(AllChannels, ThresholdWhiteQuantumOp, 0.20*MaxRGB);