Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

i think, your assumptions are right.

here's my try at handling the ranges, unfortunately i got no opencv version compiled against c++11, so a dummy must do for now:

// dummy calcHist replacement
void bar(const int *a1, const float**a2) {}

void foo(initializer_list<int> a1, initializer_list<initializer_list<float>> a2) {
    const initializer_list<float>*i2 = a2.begin(); // my gcc can only do c++0x ;(
    const float *b = i2->begin();
    bar(a1.begin(),&b);
}

int main(int argc, char **argv)
{
    foo({1,2},{{3,4},{5,6}});
    return 0;
}

also i think, you can skip the '&' symbols from cv::OutputArray &output and mask, as OutputArray is already a typedef _OutputArray& OutputArray

i think, your assumptions are right.

here's my try at handling the ranges, unfortunately i got no opencv version compiled against c++11, so a dummy must do for now:now ( also, my gcc can only do c++0x , so i had to use x.begin() instead of begin(x) ) :

// dummy calcHist replacement
void bar(const calcHist(const int *a1, const float**a2) float**ranges) {}

void foo(initializer_list<int> calcHist_wrap(initializer_list<int> a1, initializer_list<initializer_list<float>> a2) {
    const initializer_list<float>*i2 = a2.begin(); // my gcc can only do c++0x ;(
     const float *b = i2->begin();
    bar(a1.begin(),&b);
}

int main(int argc, char **argv)
{
    foo({1,2},{{3,4},{5,6}});
calcHist_wrap({1,2},{{3,4},{5,6}});
    return 0;
}

also i think, you can skip the '&' symbols from cv::OutputArray &output and mask, as OutputArray is already a typedef _OutputArray& OutputArray

i think, your assumptions are right.

here's my try at handling the ranges, unfortunately i got no opencv version compiled against c++11, so a dummy must do for now ( also, my gcc can only do c++0x , so i had to use x.begin() instead of begin(x) ) :

// dummy calcHist replacement
void calcHist(const int *a1, const float**ranges) {}

void calcHist_wrap(initializer_list<int> a1, initializer_list<initializer_list<float>> a2) {
    const initializer_list<float>*i2 = a2.begin(); 
    const float *b = i2->begin();
    bar(a1.begin(),&b);
calcHist(a1.begin(),&b);
}

int main(int argc, char **argv)
{
    calcHist_wrap({1,2},{{3,4},{5,6}});
    return 0;
}

also i think, you can skip the '&' symbols from cv::OutputArray &output and mask, as OutputArray is already a typedef _OutputArray& OutputArray

i think, your assumptions are right.

here's my try at handling the ranges, unfortunately i got no opencv version compiled against c++11, so a dummy must do for now ( also, my gcc can only do c++0x , so i had to use x.begin() instead of begin(x) ) :

// dummy calcHist replacement
void calcHist(const int *a1, const float**ranges) {}

void calcHist_wrap(initializer_list<int> a1, initializer_list<initializer_list<float>> a2) {
    const initializer_list<float>*i2 = a2.begin(); 
    const float *b = i2->begin();
    calcHist(a1.begin(),&b);
}

int main(int argc, char **argv)
{
    calcHist_wrap({1,2},{{3,4},{5,6}});
    return 0;
}

also i think, you can skip the '&' symbols from cv::OutputArray &output and mask, , as OutputArray is already a typedef _OutputArray& OutputArray