Ask Your Question

Yannikator's profile - activity

2018-05-07 06:53:02 -0600 received badge  Popular Question (source)
2013-03-13 03:38:52 -0600 received badge  Scholar (source)
2013-03-13 03:38:28 -0600 commented answer Haartraining process display big array data

I'm not sure that I understand. So, the %SMP indicate the percentage of samples that can't be classified... And we try to treate them on the next feature in order to treat all of them? I afraid because my process is running for 1 week ago and I get 5% since 4 days as we can see on the trace below...

But I wonder if it's good ?

2013-03-11 11:15:49 -0600 commented answer Haartraining process display big array data

Thanks Steven. I have a question about the %SMP that get down (100% -> 5%) as the traitment progress... What does it mean? I understand that the %SMP is the pourcentage of samples use, isn't it? So the process don't use all sample as the process run... See you later.

2013-03-08 03:10:16 -0600 commented answer Haartraining process display big array data

Thanks for your complete answer, it's very interesting. Effectively I use -npos 6122 -nneg 3019 with 32x32 pixels samples. What explain a long time process. How do you calculate the features number (180 000) that you see with 24x24? So I will let the process running. An other question : When we choose -featureType LBP, HOG (Histogramme Oriented Gradient) features are also use to train the model? (I have other questions that I keep in mind for the moment...)

2013-03-08 02:25:47 -0600 asked a question Haartraining process display big array data

Hi everybody,

I have my haartraining process running for 3 days at 15 nodes (30 max) that display the following traces:

+----+----+-+---------+---------+---------+---------+
|64082|  5%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64083|  5%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64084|  5%|-|-5599.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64085|  5%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64086|  5%|-|-5599.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64087|  5%|-|-5599.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64088|  5%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64089|  5%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64090|  5%|-|-5599.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64091|  5%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64092|  5%|-|-5601.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64093|  6%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64094|  6%|-|-5599.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64095|  6%|-|-5600.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64096|  6%|-|-5599.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64097|  6%|-|-5598.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64098|  6%|-|-5597.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64099|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64100|  6%|-|-5595.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64101|  5%|-|-5595.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64102|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64103|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64104|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64105|  5%|-|-5597.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64106|  6%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64107|  5%|-|-5595.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64108|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64109|  5%|-|-5595.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64110|  5%|-|-5594.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64111|  5%|-|-5595.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64112|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64113|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64114|  5%|-|-5597.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64115|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64116|  5%|-|-5596.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64117|  5%|-|-5597.975098| 1.000000| 1.000000| 0.810449|
+----+----+-+---------+---------+---------+---------+
|64118|  5%|-|-5597.975098| 1.000000| 1.000000| 0.810449|

I wonder if I can stop the process or it's normal?

Can you help me?

After, I will try the traincascade process that seems to be more newer and maybe better than haartraining (as I can read on this post : here

2013-03-08 02:06:41 -0600 commented question opencv_haartraining stucks like this

For information : haartraining can be also compile with OpenMP on openCV 2.4.4. So the process use multithread.

2013-03-08 02:05:00 -0600 answered a question Problems with Haartraining

Hi,

Can you be more precise about :

"My problem is that when I use haartraining, I get an error that the computer is not able to show, leaving a blank window that does not show me anything"

The haartraining process have finished? Ar you sure that your trouble is about haartraining? Have you get the xml file at the end? What function are you using in order to use haar cascade? Can you tell us the openCV version that you are using...

See you.

2013-03-07 01:25:04 -0600 received badge  Supporter (source)
2013-03-06 13:11:47 -0600 received badge  Student (source)
2013-03-06 12:29:36 -0600 commented answer OpenCV 2.4.4 with ZXing 2.1

You are right, now it work fine... I would post the code in order to help the other who will be interesting but I can for the moment... 2 days waiting before answer my own question... Thank you Berak.

2013-03-06 09:47:14 -0600 asked a question OpenCV 2.4.4 with ZXing 2.1

Hello,

I'am trying to use ZXing with OpenCV in order to read QR code in C++ technology. I need help about this... If someone have already do that, can you tell me how please?

My first way was to integrate a class name's CVImageSource like this :

CVImageSource::CVImageSource(IplImage* image) {
    image_ = image;
    width =  image->width;
    height = image->height;
}

CVImageSource::~CVImageSource(){}

int CVImageSource::getWidth() const {
    return width;
}

int CVImageSource::getHeight() const {
  return height;
}


unsigned char* CVImageSource::getRow(int r, unsigned char* row) {

    int width = getWidth();
    if(row == NULL){
        row = new unsigned char[width];
    }

    /* Test */
    unsigned char* rowTemp = new unsigned char[width];

    rowTemp = row;
    /* fin Test */
    try{
        for(int c = 0; c < width; c++){
            CvScalar pixel = cvGet2D(&image_, r, c);

            if(image_->depth == IPL_DEPTH_8U || image_->depth == IPL_DEPTH_8S){
                //8 bits depth on each channel
                row[c] = (unsigned char) ((306 * (int)pixel.val[0] + 601 * (int)pixel.val[1] + 
                        117 * (int)pixel.val[2] + 0x200) >> 10);
            }
            else if(image_->depth == IPL_DEPTH_16S){
                //16 bits depth on each channel
                // 0x200 = 1<<9, half an lsb of the result to force rounding
                // I don't know why we do multiplication 306 - 601 - 117 for each channel... I don't find the reason... sorry
                row[c] = (unsigned char) ((306 * ((int)pixel.val[0] >> 8) + 601 * ((int)pixel.val[1] >> 8) +
                        117 * ((int)pixel.val[2] >> 8) + 0x200) >> 10);
            }

        }
    }
    catch(cv::Exception ecv){
        cout << "Error : " << ecv.what() << endl;
    }
    return row;
}

unsigned char* CVImageSource::getMatrix(){
    int width = getWidth();
    int height = getHeight();
    CvScalar pixel; 

    unsigned char* matrix = new unsigned char[width * height];
    unsigned char* m = matrix;

    for(int l = 0; l < height; l++){
        for(int c = 0; c< width; c++){
            pixel = cvGet2D(&image_, l, c);
            if(image_->depth == IPL_DEPTH_8U || image_->depth == IPL_DEPTH_8S){
                //8 bits depth on each channel
                *m = (unsigned char) ((306 * (int)pixel.val[0] + 601 * (int)pixel.val[1] + 
                    117 * (int)pixel.val[2] + 0x200) >> 10);
            }
            else if(image_->depth == IPL_DEPTH_16S){
                //16 bits depth on each channel
                // 0x200 = 1<<9, half an lsb of the result to force rounding
                // I don't know why we do multiplication 306 - 601 - 117 for each channel... I don't find the reason... sorry
                *m = (unsigned char) ((306 * ((int)pixel.val[0] >> 8) + 601 * ((int)pixel.val[1] >> 8) +
                    117 * ((int)pixel.val[2] >> 8) + 0x200) >> 10);
            }
            m++;
        }
    }
    return matrix; /* Warning m is just a pointer */
}

But when I run application using this one, I have exception as :

OpenCV Error: Bad argument (unrecognized or unsupported array type) in unknown function, file ..\..\..\src\opencv\modules\core\src\array.cpp, line 1830
What : ..\..\..\src\opencv\modules\core\src\array.cpp:1830: error: (-5) unrecognized or unsupported array type

The exception is thrown when the application come in the getRow function. It seem there's a trouble with unsigned char *row, but I don't know why...

Have you an idea guys? Thanks.