#include <iostream>
#include <opencv\cxcore.hpp>
#include <opencv\cv.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\features2d\features2d.hpp>
#include <opencv2\opencv.hpp>
/*******************************************************/
#include <opencv2\video\background_segm.hpp>
#include <opencv2\video\tracking.hpp>
#include <opencv2\video\video.hpp>
#include <opencv2\videostab\deblurring.hpp>
#include <opencv2\videostab\fast_marching.hpp>
#include <opencv2\videostab\fast_marching_inl.hpp>
#include <opencv2\videostab\frame_source.hpp>
#include <opencv2\videostab\global_motion.hpp>
#include <opencv2\videostab\inpainting.hpp>
#include <opencv2\videostab\log.hpp>
#include <opencv2\videostab\motion_stabilizing.hpp>
#include <opencv2\videostab\optical_flow.hpp>
#include <opencv2\videostab\stabilizer.hpp>
#include <opencv2\videostab\videostab.hpp>
/***********************************************************************/
#include <time.h>
using namespace std;
using namespace cv;
int main()
{
#if 0
Mat img;
img = imread("face.jpg",1);
imshow("face",img);
Mat gray;
cvtColor(img, gray, CV_BGR2GRAY);
ORB orb(500,1.2,8,31,0,2,ORB::HARRIS_SCORE,31);
vector<KeyPoint> kp;
Mat descriptors;
orb(gray, Mat(), kp, descriptors, false);
cout << img.size() << endl;
cout << descriptors.size() << endl;
for(vector<KeyPoint>::iterator it = kp.begin(); it != kp.end(); it++)
{
circle(img, it->pt,3,Scalar(0,0,255), 1, 8, 0);
}
imshow("kp", img);
#elif 0
Mat img;
img = imread("face.jpg",1);
imshow("face",img);
Mat gray;
cvtColor(img, gray, CV_BGR2GRAY);
BRISK brisk(30,3,1);
vector<KeyPoint> kp;
Mat descriptors;
brisk(gray, Mat(), kp, descriptors, false);
cout << img.size() << endl;
cout << descriptors.size() << endl;
for(vector<KeyPoint>::iterator it = kp.begin(); it != kp.end(); it++)
{
circle(img, it->pt,3,Scalar(0,0,255), 1, 8, 0);
}
imshow("kp", img);
#elif 1
FileStorage fs("feature.yml",FileStorage::APPEND);
Mat img;
img = imread("hand.jpg",1);
imshow("face",img);
Mat gray;
cvtColor(img, gray, CV_BGR2GRAY);
BRISK brisk(30,3,1);
vector<KeyPoint> kp;
Mat descriptors;
brisk(gray, Mat(), kp, descriptors, false);
cout << img.size() << endl;
cout << descriptors.size() << endl;
for(vector<KeyPoint>::iterator it = kp.begin(); it != kp.end(); it++)
{
circle(img, it->pt,3,Scalar(0,0,255), 1, 8, 0);
}
imshow("kp", img);
brisk.write(fs);
fs << "kp" << kp;
fs.release();
#endif
waitKey(0);
system("pause");
return 0;
}
#include <opencv\cxcore.hpp>
#include <opencv\cv.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\features2d\features2d.hpp>
#include <opencv2\opencv.hpp>
/*******************************************************/
#include <opencv2\video\background_segm.hpp>
#include <opencv2\video\tracking.hpp>
#include <opencv2\video\video.hpp>
#include <opencv2\videostab\deblurring.hpp>
#include <opencv2\videostab\fast_marching.hpp>
#include <opencv2\videostab\fast_marching_inl.hpp>
#include <opencv2\videostab\frame_source.hpp>
#include <opencv2\videostab\global_motion.hpp>
#include <opencv2\videostab\inpainting.hpp>
#include <opencv2\videostab\log.hpp>
#include <opencv2\videostab\motion_stabilizing.hpp>
#include <opencv2\videostab\optical_flow.hpp>
#include <opencv2\videostab\stabilizer.hpp>
#include <opencv2\videostab\videostab.hpp>
/***********************************************************************/
#include <time.h>
using namespace std;
using namespace cv;
int main()
{
#if 0
Mat img;
img = imread("face.jpg",1);
imshow("face",img);
Mat gray;
cvtColor(img, gray, CV_BGR2GRAY);
ORB orb(500,1.2,8,31,0,2,ORB::HARRIS_SCORE,31);
vector<KeyPoint> kp;
Mat descriptors;
orb(gray, Mat(), kp, descriptors, false);
cout << img.size() << endl;
cout << descriptors.size() << endl;
for(vector<KeyPoint>::iterator it = kp.begin(); it != kp.end(); it++)
{
circle(img, it->pt,3,Scalar(0,0,255), 1, 8, 0);
}
imshow("kp", img);
#elif 0
Mat img;
img = imread("face.jpg",1);
imshow("face",img);
Mat gray;
cvtColor(img, gray, CV_BGR2GRAY);
BRISK brisk(30,3,1);
vector<KeyPoint> kp;
Mat descriptors;
brisk(gray, Mat(), kp, descriptors, false);
cout << img.size() << endl;
cout << descriptors.size() << endl;
for(vector<KeyPoint>::iterator it = kp.begin(); it != kp.end(); it++)
{
circle(img, it->pt,3,Scalar(0,0,255), 1, 8, 0);
}
imshow("kp", img);
#elif 1
FileStorage fs("feature.yml",FileStorage::APPEND);
Mat img;
img = imread("hand.jpg",1);
imshow("face",img);
Mat gray;
cvtColor(img, gray, CV_BGR2GRAY);
BRISK brisk(30,3,1);
vector<KeyPoint> kp;
Mat descriptors;
brisk(gray, Mat(), kp, descriptors, false);
cout << img.size() << endl;
cout << descriptors.size() << endl;
for(vector<KeyPoint>::iterator it = kp.begin(); it != kp.end(); it++)
{
circle(img, it->pt,3,Scalar(0,0,255), 1, 8, 0);
}
imshow("kp", img);
brisk.write(fs);
fs << "kp" << kp;
fs.release();
#endif
waitKey(0);
system("pause");
return 0;
}