Attention! This forum will be made read-only by Dec-20. Please migrate to https://forum.opencv.org. Most of existing active users should've received invitation by e-mail.
Ask Your Question

DEHANDPI's profile - activity

2020-03-21 02:10:07 -0500 received badge  Popular Question (source)
2017-05-10 08:24:12 -0500 commented answer Which norm is the best to match descriptors?

Thanks for your answer Berak

2017-05-10 04:17:47 -0500 asked a question Which norm is the best to match descriptors?

I am using BFMatcher to compare image descriptors and I'd like to know if there is one particular norm that works best (between L1,L2, L2sqrt). Besides, what's the difference between the two last norms? Are there categories of pictures on which some work better than others ? Where can I find doc about it ? Thanks !

2017-05-08 11:27:57 -0500 asked a question Difference between BruteForceMatcher_Gpu and BruteForceMatcher_Gpu_base

The question is in the title. The first one seem to have no functions... What is the difference between them? Moreover, is it possible to specify a specific norm? Thanks

2017-05-04 09:22:42 -0500 received badge  Scholar (source)
2017-05-04 07:54:33 -0500 commented question Use extended parameter for Surf descriptor

Thanks berak, I thought of that too. I managed to correct it by setting the extended to the extractor, too and it works

2017-05-04 07:15:22 -0500 asked a question Use extended parameter for Surf descriptor

Hi, I want to use the extended parameter for Surf algorithm. Here is my code :

SurfFeatureDetector detector2(minHessian);
detector2.extended=1;

and then

extractor2.compute(img, keypoints_4, descriptors2);
cout<<"descriptors2   "<<descriptors2.rows<<" +  "<<descriptors2.cols<<endl;

and the result is:

descriptors2 168 + 64

but I want my Surf descriptor to have 128 columns with extendedparameter. How is it possible to do this? Thanks

2017-04-20 05:40:37 -0500 asked a question GpuMat produces error

I wrote this :

  image1 = imread(QString(files[i]).toStdString(), 0);
  GpuMat img1GPU(image1);

and the following error

OpenCV Error: No GPU support (The library is compiled without CUDA support) in mallocPitch, file /build/buildd/opencv-2.4.8+dfsg1/modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp, line 126 terminate called after throwing an instance of 'cv::Exception' what(): /build/buildd/opencv-2.4.8+dfsg1/modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp:126: error: (-216) The library is compiled without CUDA support in function mallocPitch

I am sure that it's the second code line that makes a problem. Thanks for help

2017-04-20 02:39:53 -0500 commented answer conflict between opencv libraries

Thanks for your answer, I'll look at it this afternoon. Could you have a quick look at last comment? Thanks in advance (#belgian solidarity ;-) )

2017-04-19 07:32:32 -0500 commented answer Surf_Gpu needs Cuda ?

@berak Could you have a look at my previous comment please?

2017-04-17 04:07:51 -0500 commented question conflict between opencv libraries

Isn't it possible to precise the version of libs into the .pro to avoid uninstalling one version (it's a nvidia tegra card that I was lent so ...)

2017-04-17 03:34:31 -0500 asked a question conflict between opencv libraries

I have the following warning and errors on Qt:

:-1: warning: libopencv_core.so.3.1, needed by //usr/local/lib/libopencv_cudafeatures2d.so, may conflict with libopencv_core.so.2.4

:-1: error: algorithmes.o: undefined reference to symbol '_ZN2cv8internal18WriteStructContextC1ERNS_11FileStorageERKNS_6StringEiS6_'

/usr/local/lib/libopencv_core.so.3.1:-1: error: error adding symbols: DSO missing from command line

:-1: error: collect2: error: ld returned 1 exit status

I imagine that the errors are due to the potential conflict mentioned in the warning. What should I do in my .pro LIBS to put the right lopencv_core library ?

2017-04-16 05:13:39 -0500 commented answer Surf_Gpu needs Cuda ?

Thanks Berak Here is what I have:

Unavailable:                 androidcamera dynamicuda

Indeed... But why is it opencv 2.4.8 that is used although the opencv 2.4.10 is also built, WITH_CUDA on? How can I "switch" from 2.4.8 to 2.4.10 in my Qt program? Maybe a silly question but I'm quite new with all this (student). Thanks for help/interesting link !

2017-04-15 08:22:56 -0500 commented answer Surf_Gpu needs Cuda ?

I looked at this : http://stackoverflow.com/questions/12910902/opencv-error-no-gpu-support-library-is-compiled-without-cuda-support (link text) and it seems that Cuda was well supported with older opencv versions... I checked the cmake; the WITH_CUDA is well on. So I don't know from where it could come. Do you have any more idea?

2017-04-15 04:44:31 -0500 commented answer Surf_Gpu needs Cuda ?

Thanks for your answer. Actually, the latest version of opencv I have is 2.4.10. I saw that there are one version of each lib-corresponding to the version of opencv. In my .pro in Qt, when I add the libs, how can I be sure that it's the latest version (apparently, it's not the case yet, because the error message tell it's opencv 2.4.8). Thanks!

2017-04-15 04:10:15 -0500 asked a question Surf_Gpu needs Cuda ?

I'm applying Surf_Gpu algorithm with OpenCv on Qt. When I run the code (here is the critical function):

void surf(Mat img,QString j)
{

int MinHessian=400;
GpuMat imgGpu;
imgGpu.upload(img);
SURF_GPU algo(MinHessian);

vector<KeyPoint> keypointsCPU;
vector<float> descriptorsCPU;
GpuMat descriptors,keypoints;
algo(imgGpu,GpuMat(),keypoints,descriptors,false);

algo.downloadKeypoints(keypoints, keypointsCPU);
 algo.downloadDescriptors(descriptors, descriptorsCPU);
 // from device to host

 string path;
if(j=="requete")
    path = "requete.txt";
else
    path = "SURF/" + j.toStdString().substr(0,j.toStdString().find(".")) +".txt";
FileStorage fs(path, FileStorage::WRITE);
fs << "SURF" << descriptorsCPU;
fs.release();
}

I have the following error message :

OpenCV Error: No GPU support (The library is compiled without CUDA support) in mallocPitch, file /build/buildd/opencv-2.4.8+dfsg1/modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp, line 126 terminate called after throwing an instance of 'cv::Exception' what(): /build/buildd/opencv-2.4.8+dfsg1/modules/dynamicuda/include/opencv2/dynamicuda/dynamicuda.hpp:126: error: (-216) The library is compiled without CUDA support in function mallocPitch

though I don't explicitely use Cuda... Here are my includes:

#include <stdio.h>
#include <QMainWindow>
#include <QFileDialog>
#include <QImage>
#include <QStandardItemModel>
#include <QItemSelectionModel>
#include <QMessageBox>
// #include <highgui.h>
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/features2d/features2d.hpp>
#include <opencv2/nonfree/nonfree.hpp>
#include <opencv2/nonfree/features2d.hpp>
#include <opencv2/nonfree/gpu.hpp>
#include <opencv2/stitching/detail/matchers.hpp>
// for BFMatcher
#include <opencv2/gpu/gpu.hpp>
#include <fstream>
#include <sstream>
#include <iostream>
#include <QTime>
#include <sstream>
#include <QString>

What shall I need to do to get rid of the error ? Thanks !