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

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 is compatible with OpenCV (how … Read more

How to train cascade properly

I have achieved my goal and trained good cascade. First you need a couple of original samples (don’t use one and multiply it with create samples). I have used 10 different photos of beer bottles, for each I have created 200 hundred samples, then I have combined all samples in one vector file with 2000 … Read more

Sift implementation with OpenCV 2.2

Below is a minimal example: #include <opencv/cv.h> #include <opencv/highgui.h> int main(int argc, const char* argv[]) { const cv::Mat input = cv::imread(“input.jpg”, 0); //Load as grayscale cv::SiftFeatureDetector detector; std::vector<cv::KeyPoint> keypoints; detector.detect(input, keypoints); // Add results to image and save. cv::Mat output; cv::drawKeypoints(input, keypoints, output); cv::imwrite(“sift_result.jpg”, output); return 0; } Tested on OpenCV 2.3

How to apply CLAHE on RGB color images

Conversion of RGB to LAB(L for lightness and a and b for the color opponents green–red and blue–yellow) will do the work. Apply CLAHE to the converted image in LAB format to only Lightness component and convert back the image to RGB. Here is the snippet. bgr = cv2.imread(image_path) lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB) lab_planes = … Read more