Ask Your Question

Widad's profile - activity

2018-09-24 08:01:04 -0600 received badge  Popular Question (source)
2017-12-27 09:39:35 -0600 received badge  Notable Question (source)
2017-03-31 13:42:28 -0600 received badge  Popular Question (source)
2016-03-17 14:57:44 -0600 commented question Multiples and differents objects recognition and counting in real time with c++ opencv 3

ok :) , thank you for encourage me , I will do my best .

2016-03-17 14:46:29 -0600 commented question Multiples and differents objects recognition and counting in real time with c++ opencv 3

no absolutely no I want just some one to guide me to the best way because I m new in opencv and computer vision

2016-03-17 14:43:38 -0600 commented question Multiples and differents objects recognition and counting in real time with c++ opencv 3

tell me just , by what exactly I must begin for obtaining my goals ??

2016-03-17 14:40:10 -0600 commented question Multiples and differents objects recognition and counting in real time with c++ opencv 3

it is possible to do this system with only opencv??

2016-03-17 11:21:08 -0600 commented question Multiples and differents objects recognition and counting in real time with c++ opencv 3

thanks berak I want to build a computer vision system for real time recognition and counting of multiple and different type of object , could you tel me the method that I must use to release that?? .

2016-03-17 06:59:34 -0600 asked a question Multiples and differents objects recognition and counting in real time with c++ opencv 3

Hello ,

it is possible to use this method

https://www.youtube.com/watch?v=Y3ac5...

in combination with this

http://docs.opencv.org/3.1.0/d5/d6f/t...

for real time object recognition , I want to detect note only multiple object but also different types of objects by using a matching between the images of the objects and the reals objects in the video from the camera.

Thanks :)

2016-03-10 06:49:01 -0600 commented question Real Time object recognition and tracking with surf and c++ opencv 3.1

thanks it worked for me but I don't Know why I must press the keyboard for pass to next step at every step

2016-03-10 06:00:34 -0600 received badge  Editor (source)
2016-03-09 04:44:00 -0600 received badge  Enthusiast
2016-03-08 04:44:35 -0600 asked a question How can I use surf algorithm in c++ with opencv 3.1

Hello ,

I want to use surf algorithm in c++ with opencv 3.1 , I added the contrib_library of opencv necessary for that , but I don't know where exactly I must add the modification in the code

this is the origenally code :: https://github.com/doczhivago/rtObjec...

this the modification that I must add to the code :: http://answers.opencv.org/question/55...

but How and Where exactly ??

2016-03-08 04:37:13 -0600 commented answer Image Registration (OpenCV 3.0.0)

Hello, I Have the same problem , but I dont Know where exactly I must add this modification in the code , I m using c++ opencv 3.1 this the originally code that I must modify for been compatible with opencv 3.1 : https://github.com/doczhivago/rtObjec...

2016-03-07 09:02:55 -0600 asked a question Real Time object recognition and tracking with surf and c++ opencv 3.1

Hello, I m working actually in computer vision project for real time object recognition and tracking by using c++ opencv 3.1 and surf , but the object is note tracking if it is far from the camera or if it is note detect a specific number of key points between the image of the object and the real object in the video from the camera.

this is the code

#include <iostream>
#include <fstream>
#include <string>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/features2d/features2d.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/calib3d/calib3d.hpp>
#include <opencv2/xfeatures2d/nonfree.hpp>
#include <opencv2/xfeatures2d/cuda.hpp>
#include <opencv2/xfeatures2d/xfeatures2d.hpp>
//Name spaces used 
usingnamespace cv;
using namespace std;
int main(){
//turn performance analysis functions on if testing = true
bool testing=true;
double t; //timing variable
//load training image
Mat object = imread ("C:/opencvInputOutput/titi.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if (!object.data){
    cout<<"Can't open image";
    return -1;
}
namedWindow("Good Matches", CV_WINDOW_AUTOSIZE);
//SURF Detector, and descriptor parameters
int minHess=3000;
vector<KeyPoint> kpObject, kpImage;
Mat desObject, desImage;


//Performance measures calculations for report
if (testing)
{
    cout<<object.rows<<" "<<object.cols<<endl;

    //calculate integral image
    Mat iObject;
    integral(object, iObject);
    imshow("Good Matches", iObject);
    imwrite("C:/opencvInputOutput/IntegralImage.jpg", iObject);
    cvWaitKey(0);

    //calculate number of interest points, computation time as f(minHess)
    int minHessVector[]={100, 500, 1000, 1500, 2000, 2500, 3000,
                                3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000, 7500,
                                8000, 8500, 9000, 9500, 10000};
    int minH;
    std::ofstream file;
    file.open("C:/opencvInputOutput/TimingC.csv", std::ofstream::out);
    for (int i=0; i<20; i++)
    {

        minH=minHessVector[i];
        t = (double)getTickCount();

        //viens d'étre ajouter spécifique à opencv version 3.1
        Ptr<xfeatures2d::SURF> surf = xfeatures2d::SURF::create(minH);

        //version 2.4.10
        //SurfFeatureDetector detector(minH);
        //detector.detect(object, kpObject); for 2.4.10 version
        //for 3.1.0 version
        surf->detectAndCompute(object, Mat(), kpObject, desObject);
        //surf->detectAndCompute(object, Mat(), kpImage,  desImage);


        t = ((double)getTickCount() - t)/getTickFrequency();
        file<<minHess<<","<<kpObject.size()<<","<<t<<",";
        cout<<t<<" "<<kpObject.size()<<" "<<desObject.size()<<endl;

        t = (double)getTickCount();
        //SurfDescriptorExtractor extractor;
        //extractor.compute(object, kpObject, desObject);
        t = ((double)getTickCount() - t)/getTickFrequency();
        file<<t<<endl;
    }
    file.close();

//Display keypoints on training image
Mat interestPointObject=object;
for (unsigned int i=0; i<kpObject.size();i++)
{
    if(kpObject[i].octave)
    {
        circle(interestPointObject,kpObject[i].pt,kpObject[i].size,0);
        string octaveS;
        switch(kpObject[i].octave)
        {
        case 0:
            octaveS="0";
            break;
        case 1:
            octaveS='1';
            break;
        case 2:
            octaveS='2';
            break;
        default:
            break;

        }
        putText(interestPointObject, octaveS, kpObject[i].pt,
                FONT_HERSHEY_COMPLEX_SMALL, 1, cvScalar(0,0,250), 1, CV_AA);
    }

}
imshow("Good Matches",interestPointObject);
imwrite("C:/opencvInputOutput/SmobileIP2.jpg", interestPointObject);
cvWaitKey(50);


}


//SURF Detector, and descriptor parameters, match object initialization
minHess=2000;

Ptr<xfeatures2d::SURF> surf1 = xfeatures2d::SURF::create(minHess);
surf1->detectAndCompute(object, Mat(), kpObject, desObject);
//surf->detectAndCompute(object, Mat(), kpImage,  desImage);

/*SurfFeatureDetector detector(minHess);
detector.detect(object, kpObject);
SurfDescriptorExtractor extractor;
extractor.compute(object, kpObject, desObject);*/
FlannBasedMatcher matcher;


//Initialize video and display window
VideoCapture cap(0);  //camera 1 ...
(more)