feature-detection

Are there any fast alternatives to SURF and SIFT for scale-invariant feature extraction?

早过忘川 提交于 2019-11-27 17:43:12
SURF is patented, as is SIFT. ORB and BRIEF are not patented, but their features are not scale-invariant, seriously limiting their usefulness in complex scenarios. Are there any feature extractors that can extract scale-invariant features as fast as SURF and are not so strictly patented as SURF and SIFT? Rui Marques Although you already choose BRISK, you might find FREAK interesting. Author claims to have better results than BRISK and ORB. I should also add that ORB is scale-invariant but has some problems in that area. So I would still recommend it for someone to try it. The FREAK source code

Classification of detectors, extractors and matchers

走远了吗. 提交于 2019-11-27 16:46:01
I am new to opencv and trying to implement image matching between two images. For this purpose, I'm trying to understand the difference between feature descriptors, descriptor extractors and descriptor matchers. I came across a lot of terms and tried to read about them on the opencv documentation website but I just can't seem to wrap my head around the concepts. I understood the basic difference here. Difference between Feature Detection and Descriptor Extraction But I came across the following terms while studying on the topic : FAST, GFTT, SIFT, SURF, MSER, STAR, ORB, BRISK, FREAK, BRIEF I

Responding to RAM availability in iOS

那年仲夏 提交于 2019-11-27 14:28:22
I have a texture-heavy OpenGL game that I'd like to tune based on how much RAM the device has. The highest resolution textures I have work fine on an iPhone 4 or iPad2, but earlier devices crash in the middle of loading the textures. I have low-res versions of these textures, but I need to know when to use them. My current tactic is to detect specific older devices (3GS has a low-res screen; iPad has no camera), then only load the hi-res textures for IPad2 and above and iPhone 4 and above — and I suppose I'll need to do something for the iPod touch. But I'd much rather use feature detection

OpenCV - Detect hand-drawing shapes

谁说胖子不能爱 提交于 2019-11-27 14:14:13
问题 Could OpenCV detect the geometric shapes which is drawn by hand as below? The shape can be a rectangle, triangle, circle, curve, arc,polygon,... I am going to develop an android application which detect these shapes. 回答1: Well, I tried it in a harry. Normally you need to skeletonize the input. Anyway. You can reason about the shapes based on their points. Normally a square has 4, a triangle 3, etc. Effort results: Canny results: Polygonal approximation: Console output: contour points:11

How to find the corners of a Rect object in openCV?

狂风中的少年 提交于 2019-11-27 13:13:45
问题 I am using openCV library on the android platform. I have successfully detected the largest rectangle from the image but since my application will be used for the scanning purpose ,i want to have the perspective change functionality as well. I know,how to apply perspectiveTransform and warpPerspectiveTransform,but for that i will need corners of the rectangle for the source points. It seems very easy to find the corners given the fact we have the coordinates of the first corner(Top-left) and

Improve matching of feature points with OpenCV

为君一笑 提交于 2019-11-27 10:11:48
I want to match feature points in stereo images. I've already found and extracted the feature points with different algorithms and now I need a good matching. In this case I'm using the FAST algorithms for detection and extraction and the BruteForceMatcher for matching the feature points. The matching code: vector< vector<DMatch> > matches; //using either FLANN or BruteForce Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create(algorithmName); matcher->knnMatch( descriptors_1, descriptors_2, matches, 1 ); //just some temporarily code to have the right data structure vector< DMatch > good

What does size and response exactly represent in a SURF keypoint?

余生颓废 提交于 2019-11-27 09:37:45
问题 I'm using OpenCV 2.3 for keypoints detection and matching. But I am a bit confused with the size and response parameters given by the detection algorithm. What do they exactly mean? Based on the OpenCV manual, I can't figure it out: float size : diameter of the meaningful keypoint neighborhood float response : the response by which the most strong keypoints have been selected. Can be used for further sorting or subsampling I thought the best point to track would be the one with the highest

Difference between Feature Detection and Descriptor Extraction

佐手、 提交于 2019-11-27 09:07:47
问题 Does anyone know the difference between FeatureDetection and DescriptorExtraction in OpenCV 2.3? I understand that the latter is required for matching using DescriptorMatcher. If that's the case, what is FeatureDetection used for? Thank you. 回答1: Feature detection In computer vision and image processing the concept of feature detection refers to methods that aim at computing abstractions of image information and making local decisions at every image point whether there is an image feature of

Extracting HoG Features using OpenCV

怎甘沉沦 提交于 2019-11-27 09:04:51
问题 I am trying to extract features using OpenCV's HoG API, however I can't seem to find the API that allow me to do that. What I am trying to do is to extract features using HoG from all my dataset (a set number of positive and negative images), then train my own SVM. I peeked into HoG.cpp under OpenCV, and it didn't help. All the codes are buried within complexities and the need to cater for different hardwares (e.g. Intel's IPP) My question is: Is there any API from OpenCV that I can use to

OpenCV image comparison in Android

£可爱£侵袭症+ 提交于 2019-11-27 06:55:33
[EDIT] I have devised some code for image comparison. The matching part is still a bit flawed and I would love some assitance. The project can be found at - GitHub . I have these two images Img1 and Img2 : When I use the following command in openCV Mat img1 = Highgui.imread("mnt/sdcard/IMG-20121228.jpg"); Mat img2 = Highgui.imread("mnt/sdcard/IMG-20121228-1.jpg"); try{ double l2_norm = Core.norm( img1, img2 ); tv.setText(l2_norm+""); } catch(Exception e) { //image is not a duplicate } I get a double value for l2_norm. This double value varies for duplicate image pairs. But if the images are