0

magick ++でWhiteThresholdImageを使用する方法は?

私はそれを検索し、解決策を見つけたので、私は試します:

#include <Magick++.h>  
using namespace Magick;  

int main()  
{  
    Magick::InitializeMagick("");  
    Image image;  
    image.read("logo.jpg");  
    char* threshold = 20;  
    MagickLib::WhiteThresholdImage(image, threshold);  
}  

エラー:引数「1」の「Magick::Image」を「MagickLib::_Image*}」に変換できません。unsignedintMagickLib:: WhiteThresholdImage(MagickLib :: Image *、const char *) '</ p>



    #include   
    using namespace Magick;  

    int main()  
    {  
        Magick::InitializeMagick("");  
        Image image;  
        image.read("logo.jpg");  
        char* threshold = 20;  
        WhiteThresholdImage(image, threshold);  
    }  

エラー:「WhiteThresholdImage」はこのスコープで宣言されていません

4

1 に答える 1

1

C API と C++ API を混在させていますが、そのように混在させることはできません。

WhiteThresholdImage() 関数は Magick++ 経由では公開されません。ただし、quantumOperator() メソッドは、同じこと (およびそれ以上) を行うことができます。以下は、数値範囲の 20% を超える白のしきい値ピクセルを白にします。

image.quantumOperator(AllChannels, ThresholdWhiteQuantumOp, 0.20*MaxRGB);
于 2013-01-22T03:42:51.977 に答える