opencv addweighted回调函数在类内无法正常工作

时间:2019-02-01 15:38:40

标签: c++ opencv

当我使用普通函数时,回调工作良好且代码正常工作,因此我决定将函数放入类中,这就是问题开始的地方。最初,我遇到语法错误“错误非标准语法;使用'&'创建指向成员的指针”,因此我将函数更改为静态函数,下一个错误为“错误:未初始化的本地“变量” blean (blean是一个对象)”,所以我创建了一个构造函数并将变量初始化为零,现在代码可以运行,但是即使轨迹栏在移动,回调函数也不会更改该值……< / p>

header file-----

   class Blending
{
public:

    Blending();

     static void Blend(int, void*);

     int Blended;
  double alpha;
     double beta;
       int  key;
      int minimumvalue;
      int maximumvalue ;

};


cpp file-----



    int maximumvalue = 100;
    int minimumvalue;
    void Blending:: Blend(int, void*)
    {
        Blending b;

        b.alpha = (double)b.minimumvalue/ 100;
        addWeighted(img,b.alpha,img2, 1.0 - b.alpha, 0, des);
        imshow("Blendimage", des);
    }


    int main()
    {



        Blending bl;
        bl.Blend(bl.minimumvalue, 0);
        createTrackbar("Blend", "Blendimage", &minimumvalue, maximumvalue, bl.Blend);
        waitKey(0);
        //imshow("Blendimage", des),waitKey(0);
        return 0;
    }

我在网站上浏览了一些类似的问题,但没有找到解决我问题的方法,我想这只是我这边的一个愚蠢的错误,在此先感谢任何批评...

0 个答案:

没有答案