├── DetectFeaturePoint.sln ├── DetectFeaturePoint.suo ├── DetectFeaturePoint ├── CvvImage.cpp ├── CvvImage.h ├── DetectFeaturePoint.aps ├── DetectFeaturePoint.cpp ├── DetectFeaturePoint.h ├── DetectFeaturePoint.rc ├── DetectFeaturePoint.vcxproj ├── DetectFeaturePoint.vcxproj.filters ├── DetectFeaturePoint.vcxproj.user ├── DetectFeaturePointDlg.cpp ├── DetectFeaturePointDlg.h ├── ReadMe.txt ├── res │ ├── DetectFeaturePoint.ico │ └── DetectFeaturePoint.rc2 ├── resource.h ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── README.md ├── Release ├── DetectFeaturePoint.exe ├── opencv_core249.dll ├── opencv_features2d249.dll ├── opencv_flann249.dll ├── opencv_highgui249.dll ├── opencv_imgproc249.dll ├── opencv_legacy249.dll ├── opencv_ml249.dll ├── opencv_nonfree249.dll ├── opencv_objdetect249.dll ├── opencv_ocl249.dll └── opencv_video249.dll └── TestData ├── 1-1.jpg ├── 1-2.jpg ├── 1-3.jpeg ├── 2-1.jpg ├── 2-2.jpg ├── box.png ├── box_in_scene.png ├── one_way_train_0000.jpg ├── one_way_train_0001.jpg ├── scene_l.bmp └── scene_r.bmp /DetectFeaturePoint.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DetectFeaturePoint", "DetectFeaturePoint\DetectFeaturePoint.vcxproj", "{A28778FC-CB49-44B8-8A80-A3E03E2631B0}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {A28778FC-CB49-44B8-8A80-A3E03E2631B0}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {A28778FC-CB49-44B8-8A80-A3E03E2631B0}.Debug|Win32.Build.0 = Debug|Win32 14 | {A28778FC-CB49-44B8-8A80-A3E03E2631B0}.Release|Win32.ActiveCfg = Release|Win32 15 | {A28778FC-CB49-44B8-8A80-A3E03E2631B0}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /DetectFeaturePoint.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint.suo -------------------------------------------------------------------------------- /DetectFeaturePoint/CvvImage.cpp: -------------------------------------------------------------------------------- 1 | #include "StdAfx.h" 2 | #include "CvvImage.h" 3 | ////////////////////////////////////////////////////////////////////// 4 | // Construction/Destruction 5 | ////////////////////////////////////////////////////////////////////// 6 | CV_INLINE RECT NormalizeRect( RECT r ); 7 | CV_INLINE RECT NormalizeRect( RECT r ) 8 | { 9 | int t; 10 | if( r.left > r.right ) 11 | { 12 | t = r.left; 13 | r.left = r.right; 14 | r.right = t; 15 | } 16 | if( r.top > r.bottom ) 17 | { 18 | t = r.top; 19 | r.top = r.bottom; 20 | r.bottom = t; 21 | } 22 | 23 | return r; 24 | } 25 | CV_INLINE CvRect RectToCvRect( RECT sr ); 26 | CV_INLINE CvRect RectToCvRect( RECT sr ) 27 | { 28 | sr = NormalizeRect( sr ); 29 | return cvRect( sr.left, sr.top, sr.right - sr.left, sr.bottom - sr.top ); 30 | } 31 | CV_INLINE RECT CvRectToRect( CvRect sr ); 32 | CV_INLINE RECT CvRectToRect( CvRect sr ) 33 | { 34 | RECT dr; 35 | dr.left = sr.x; 36 | dr.top = sr.y; 37 | dr.right = sr.x + sr.width; 38 | dr.bottom = sr.y + sr.height; 39 | 40 | return dr; 41 | } 42 | CV_INLINE IplROI RectToROI( RECT r ); 43 | CV_INLINE IplROI RectToROI( RECT r ) 44 | { 45 | IplROI roi; 46 | r = NormalizeRect( r ); 47 | roi.xOffset = r.left; 48 | roi.yOffset = r.top; 49 | roi.width = r.right - r.left; 50 | roi.height = r.bottom - r.top; 51 | roi.coi = 0; 52 | 53 | return roi; 54 | } 55 | void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin ) 56 | { 57 | assert( bmi && width >= 0 && height >= 0 && (bpp == 8 || bpp == 24 || bpp == 32)); 58 | 59 | BITMAPINFOHEADER* bmih = &(bmi->bmiHeader); 60 | 61 | memset( bmih, 0, sizeof(*bmih)); 62 | bmih->biSize = sizeof(BITMAPINFOHEADER); 63 | bmih->biWidth = width; 64 | bmih->biHeight = origin ? abs(height) : -abs(height); 65 | bmih->biPlanes = 1; 66 | bmih->biBitCount = (unsigned short)bpp; 67 | bmih->biCompression = BI_RGB; 68 | if( bpp == 8 ) 69 | { 70 | RGBQUAD* palette = bmi->bmiColors; 71 | int i; 72 | for( i = 0; i < 256; i++ ) 73 | { 74 | palette[i].rgbBlue = palette[i].rgbGreen = palette[i].rgbRed = (BYTE)i; 75 | palette[i].rgbReserved = 0; 76 | } 77 | } 78 | } 79 | CvvImage::CvvImage() 80 | { 81 | m_img = 0; 82 | } 83 | void CvvImage::Destroy() 84 | { 85 | cvReleaseImage( &m_img ); 86 | } 87 | CvvImage::~CvvImage() 88 | { 89 | Destroy(); 90 | } 91 | bool CvvImage::Create( int w, int h, int bpp, int origin ) 92 | { 93 | const unsigned max_img_size = 10000; 94 | 95 | if( (bpp != 8 && bpp != 24 && bpp != 32) || 96 | (unsigned)w >= max_img_size || (unsigned)h >= max_img_size || 97 | (origin != IPL_ORIGIN_TL && origin != IPL_ORIGIN_BL)) 98 | { 99 | assert(0); // most probably, it is a programming error 100 | return false; 101 | } 102 | if( !m_img || Bpp() != bpp || m_img->width != w || m_img->height != h ) 103 | { 104 | if( m_img && m_img->nSize == sizeof(IplImage)) 105 | Destroy(); 106 | /* prepare IPL header */ 107 | m_img = cvCreateImage( cvSize( w, h ), IPL_DEPTH_8U, bpp/8 ); 108 | } 109 | if( m_img ) 110 | m_img->origin = origin == 0 ? IPL_ORIGIN_TL : IPL_ORIGIN_BL; 111 | return m_img != 0; 112 | } 113 | void CvvImage::CopyOf( CvvImage& image, int desired_color ) 114 | { 115 | IplImage* img = image.GetImage(); 116 | if( img ) 117 | { 118 | CopyOf( img, desired_color ); 119 | } 120 | } 121 | #define HG_IS_IMAGE(img)\ 122 | ((img) != 0 && ((const IplImage*)(img))->nSize == sizeof(IplImage) &&\ 123 | ((IplImage*)img)->imageData != 0) 124 | void CvvImage::CopyOf( IplImage* img, int desired_color ) 125 | { 126 | if( HG_IS_IMAGE(img) ) 127 | { 128 | int color = desired_color; 129 | CvSize size = cvGetSize( img ); 130 | if( color < 0 ) 131 | color = img->nChannels > 1; 132 | if( Create( size.width, size.height, 133 | (!color ? 1 : img->nChannels > 1 ? img->nChannels : 3)*8, 134 | img->origin )) 135 | { 136 | cvConvertImage( img, m_img, 0 ); 137 | } 138 | } 139 | } 140 | bool CvvImage::Load( const char* filename, int desired_color ) 141 | { 142 | IplImage* img = cvLoadImage( filename, desired_color ); 143 | if( !img ) 144 | return false; 145 | 146 | CopyOf( img, desired_color ); 147 | cvReleaseImage( &img ); 148 | 149 | return true; 150 | } 151 | bool CvvImage::LoadRect( const char* filename, 152 | int desired_color, CvRect r ) 153 | { 154 | if( r.width < 0 || r.height < 0 ) return false; 155 | 156 | IplImage* img = cvLoadImage( filename, desired_color ); 157 | if( !img ) 158 | return false; 159 | if( r.width == 0 || r.height == 0 ) 160 | { 161 | r.width = img->width; 162 | r.height = img->height; 163 | r.x = r.y = 0; 164 | } 165 | if( r.x > img->width || r.y > img->height || 166 | r.x + r.width < 0 || r.y + r.height < 0 ) 167 | { 168 | cvReleaseImage( &img ); 169 | return false; 170 | } 171 | /* truncate r to source image */ 172 | if( r.x < 0 ) 173 | { 174 | r.width += r.x; 175 | r.x = 0; 176 | } 177 | if( r.y < 0 ) 178 | { 179 | r.height += r.y; 180 | r.y = 0; 181 | } 182 | if( r.x + r.width > img->width ) 183 | r.width = img->width - r.x; 184 | 185 | if( r.y + r.height > img->height ) 186 | r.height = img->height - r.y; 187 | cvSetImageROI( img, r ); 188 | CopyOf( img, desired_color ); 189 | cvReleaseImage( &img ); 190 | return true; 191 | } 192 | bool CvvImage::Save( const char* filename ) 193 | { 194 | if( !m_img ) 195 | return false; 196 | cvSaveImage( filename, m_img ); 197 | return true; 198 | } 199 | void CvvImage::Show( const char* window ) 200 | { 201 | if( m_img ) 202 | cvShowImage( window, m_img ); 203 | } 204 | void CvvImage::Show( HDC dc, int x, int y, int w, int h, int from_x, int from_y ) 205 | { 206 | if( m_img && m_img->depth == IPL_DEPTH_8U ) 207 | { 208 | uchar buffer[sizeof(BITMAPINFOHEADER) + 1024]; 209 | BITMAPINFO* bmi = (BITMAPINFO*)buffer; 210 | int bmp_w = m_img->width, bmp_h = m_img->height; 211 | FillBitmapInfo( bmi, bmp_w, bmp_h, Bpp(), m_img->origin ); 212 | from_x = MIN( MAX( from_x, 0 ), bmp_w - 1 ); 213 | from_y = MIN( MAX( from_y, 0 ), bmp_h - 1 ); 214 | int sw = MAX( MIN( bmp_w - from_x, w ), 0 ); 215 | int sh = MAX( MIN( bmp_h - from_y, h ), 0 ); 216 | SetDIBitsToDevice( 217 | dc, x, y, sw, sh, from_x, from_y, from_y, sh, 218 | m_img->imageData + from_y*m_img->widthStep, 219 | bmi, DIB_RGB_COLORS ); 220 | } 221 | } 222 | void CvvImage::DrawToHDC( HDC hDCDst, RECT* pDstRect ) 223 | { 224 | if( pDstRect && m_img && m_img->depth == IPL_DEPTH_8U && m_img->imageData ) 225 | { 226 | uchar buffer[sizeof(BITMAPINFOHEADER) + 1024]; 227 | BITMAPINFO* bmi = (BITMAPINFO*)buffer; 228 | int bmp_w = m_img->width, bmp_h = m_img->height; 229 | CvRect roi = cvGetImageROI( m_img ); 230 | CvRect dst = RectToCvRect( *pDstRect ); 231 | if( roi.width == dst.width && roi.height == dst.height ) 232 | { 233 | Show( hDCDst, dst.x, dst.y, dst.width, dst.height, roi.x, roi.y ); 234 | return; 235 | } 236 | if( roi.width > dst.width ) 237 | { 238 | SetStretchBltMode( 239 | hDCDst, // handle to device context 240 | HALFTONE ); 241 | } 242 | else 243 | { 244 | SetStretchBltMode( 245 | hDCDst, // handle to device context 246 | COLORONCOLOR ); 247 | } 248 | FillBitmapInfo( bmi, bmp_w, bmp_h, Bpp(), m_img->origin ); 249 | ::StretchDIBits( 250 | hDCDst, 251 | dst.x, dst.y, dst.width, dst.height, 252 | roi.x, roi.y, roi.width, roi.height, 253 | m_img->imageData, bmi, DIB_RGB_COLORS, SRCCOPY ); 254 | } 255 | } 256 | void CvvImage::Fill( int color ) 257 | { 258 | cvSet( m_img, cvScalar(color&255,(color>>8)&255,(color>>16)&255,(color>>24)&255) ); 259 | } -------------------------------------------------------------------------------- /DetectFeaturePoint/CvvImage.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #ifndef CVVIMAGE_CLASS_DEF 3 | #define CVVIMAGE_CLASS_DEF 4 | #include "opencv2/opencv.hpp" 5 | /* CvvImage class definition */ 6 | class CvvImage 7 | { 8 | public: 9 | CvvImage(); 10 | virtual ~CvvImage(); 11 | /* Create image (BGR or grayscale) */ 12 | virtual bool Create( int width, int height, int bits_per_pixel, int image_origin = 0 ); 13 | /* Load image from specified file */ 14 | virtual bool Load( const char* filename, int desired_color = 1 ); 15 | /* Load rectangle from the file */ 16 | virtual bool LoadRect( const char* filename, 17 | int desired_color, CvRect r ); 18 | #if defined WIN32 || defined _WIN32 19 | virtual bool LoadRect( const char* filename, 20 | int desired_color, RECT r ) 21 | { 22 | return LoadRect( filename, desired_color, 23 | cvRect( r.left, r.top, r.right - r.left, r.bottom - r.top )); 24 | } 25 | #endif 26 | /* Save entire image to specified file. */ 27 | virtual bool Save( const char* filename ); 28 | /* Get copy of input image ROI */ 29 | virtual void CopyOf( CvvImage& image, int desired_color = -1 ); 30 | virtual void CopyOf( IplImage* img, int desired_color = -1 ); 31 | IplImage* GetImage() { return m_img; }; 32 | virtual void Destroy(void); 33 | /* width and height of ROI */ 34 | int Width() { return !m_img ? 0 : !m_img->roi ? m_img->width : m_img->roi->width; }; 35 | int Height() { return !m_img ? 0 : !m_img->roi ? m_img->height : m_img->roi->height;}; 36 | int Bpp() { return m_img ? (m_img->depth & 255)*m_img->nChannels : 0; }; 37 | virtual void Fill( int color ); 38 | /* draw to highgui window */ 39 | virtual void Show( const char* window ); 40 | 41 | #if defined WIN32 || defined _WIN32 42 | /* draw part of image to the specified DC */ 43 | virtual void Show( HDC dc, int x, int y, int width, int height, 44 | int from_x = 0, int from_y = 0 ); 45 | /* draw the current image ROI to the specified rectangle of the destination DC */ 46 | virtual void DrawToHDC( HDC hDCDst, RECT* pDstRect ); 47 | #endif 48 | protected: 49 | IplImage* m_img; 50 | }; 51 | typedef CvvImage CImage; 52 | #endif -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePoint.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/DetectFeaturePoint.aps -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePoint.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/DetectFeaturePoint.cpp -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePoint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/DetectFeaturePoint.h -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePoint.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/DetectFeaturePoint.rc -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePoint.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | 14 | {A28778FC-CB49-44B8-8A80-A3E03E2631B0} 15 | DetectFeaturePoint 16 | MFCProj 17 | 18 | 19 | 20 | Application 21 | true 22 | NotSet 23 | Static 24 | 25 | 26 | Application 27 | false 28 | true 29 | NotSet 30 | Dynamic 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | true 44 | 45 | 46 | false 47 | D:\opencv\build\include\opencv2;D:\opencv\build\include\opencv;D:\opencv\build\include;$(IncludePath) 48 | D:\opencv\build\x86\vc10\lib;$(LibraryPath) 49 | 50 | 51 | 52 | Use 53 | Level3 54 | Disabled 55 | WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions) 56 | 57 | 58 | Windows 59 | true 60 | 61 | 62 | false 63 | true 64 | _DEBUG;%(PreprocessorDefinitions) 65 | 66 | 67 | 0x0804 68 | _DEBUG;%(PreprocessorDefinitions) 69 | $(IntDir);%(AdditionalIncludeDirectories) 70 | 71 | 72 | 73 | 74 | Level3 75 | Use 76 | MaxSpeed 77 | true 78 | true 79 | WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) 80 | MultiThreadedDLL 81 | 82 | 83 | Windows 84 | true 85 | true 86 | true 87 | opencv_core249.lib;opencv_highgui249.lib;opencv_imgproc249.lib;opencv_features2d249.lib;opencv_nonfree249.lib;opencv_legacy249.lib;%(AdditionalDependencies) 88 | 89 | 90 | false 91 | true 92 | NDEBUG;%(PreprocessorDefinitions) 93 | 94 | 95 | 0x0804 96 | NDEBUG;%(PreprocessorDefinitions) 97 | $(IntDir);%(AdditionalIncludeDirectories) 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | Create 119 | Create 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePoint.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 资源文件 21 | 22 | 23 | 资源文件 24 | 25 | 26 | 27 | 28 | 头文件 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件 38 | 39 | 40 | 头文件 41 | 42 | 43 | 头文件 44 | 45 | 46 | 47 | 48 | 源文件 49 | 50 | 51 | 源文件 52 | 53 | 54 | 源文件 55 | 56 | 57 | 源文件 58 | 59 | 60 | 61 | 62 | 资源文件 63 | 64 | 65 | -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePoint.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePointDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/DetectFeaturePointDlg.cpp -------------------------------------------------------------------------------- /DetectFeaturePoint/DetectFeaturePointDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/DetectFeaturePointDlg.h -------------------------------------------------------------------------------- /DetectFeaturePoint/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/ReadMe.txt -------------------------------------------------------------------------------- /DetectFeaturePoint/res/DetectFeaturePoint.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/res/DetectFeaturePoint.ico -------------------------------------------------------------------------------- /DetectFeaturePoint/res/DetectFeaturePoint.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/res/DetectFeaturePoint.rc2 -------------------------------------------------------------------------------- /DetectFeaturePoint/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/resource.h -------------------------------------------------------------------------------- /DetectFeaturePoint/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/stdafx.cpp -------------------------------------------------------------------------------- /DetectFeaturePoint/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/stdafx.h -------------------------------------------------------------------------------- /DetectFeaturePoint/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/DetectFeaturePoint/targetver.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DetectFeaturePoint 2 | Opencv下利用SIFT、SURF、ORB三种特征点实现图像匹配 3 | 4 | 1.release下的exe可以直接运行 5 | 6 | 2.opencv程序如果不能运行,可以直接把你的exe程序和安装的opencv路径下的相关的dll和exe放在一起就行了 7 | 8 | 3.更高效的算法需要改进,这个只是实现了最最简单的demo 9 | 10 | ![20170113140932376](C:\Users\2010yhh\Desktop\20170113140932376.jpg) -------------------------------------------------------------------------------- /Release/DetectFeaturePoint.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/DetectFeaturePoint.exe -------------------------------------------------------------------------------- /Release/opencv_core249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_core249.dll -------------------------------------------------------------------------------- /Release/opencv_features2d249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_features2d249.dll -------------------------------------------------------------------------------- /Release/opencv_flann249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_flann249.dll -------------------------------------------------------------------------------- /Release/opencv_highgui249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_highgui249.dll -------------------------------------------------------------------------------- /Release/opencv_imgproc249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_imgproc249.dll -------------------------------------------------------------------------------- /Release/opencv_legacy249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_legacy249.dll -------------------------------------------------------------------------------- /Release/opencv_ml249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_ml249.dll -------------------------------------------------------------------------------- /Release/opencv_nonfree249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_nonfree249.dll -------------------------------------------------------------------------------- /Release/opencv_objdetect249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_objdetect249.dll -------------------------------------------------------------------------------- /Release/opencv_ocl249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_ocl249.dll -------------------------------------------------------------------------------- /Release/opencv_video249.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/Release/opencv_video249.dll -------------------------------------------------------------------------------- /TestData/1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/1-1.jpg -------------------------------------------------------------------------------- /TestData/1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/1-2.jpg -------------------------------------------------------------------------------- /TestData/1-3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/1-3.jpeg -------------------------------------------------------------------------------- /TestData/2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/2-1.jpg -------------------------------------------------------------------------------- /TestData/2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/2-2.jpg -------------------------------------------------------------------------------- /TestData/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/box.png -------------------------------------------------------------------------------- /TestData/box_in_scene.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/box_in_scene.png -------------------------------------------------------------------------------- /TestData/one_way_train_0000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/one_way_train_0000.jpg -------------------------------------------------------------------------------- /TestData/one_way_train_0001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/one_way_train_0001.jpg -------------------------------------------------------------------------------- /TestData/scene_l.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/scene_l.bmp -------------------------------------------------------------------------------- /TestData/scene_r.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2010yhh/DetectFeaturePoint/b8e5f1eb9a203b7b39d38aab787d766bbf217406/TestData/scene_r.bmp --------------------------------------------------------------------------------