First I know nothing about surface matching I try to reproduce your problem.
I run sample ppf_load_match with arguments parasaurolophus_6700.ply parasaurolophus_low_normals2.ply
Of course you have to give good path before filename.
Then I found this issue As suggested I replaced this line with
#if (defined x86_64 || defined _M_X64)
#if _MSC_VER <= 1800
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
#endif
typedef uint64_t KeyType;
#else
typedef unsigned int KeyType;
#endif
and it solves problem in my configuration : VS 2015 64 bits windows 10 opencv-3.2-dev. A Pull Request is in progress
- Surface Matching demonstration : demonstrates the use of surface
matching using point pair features.
- The sample loads a model and a scene, where the model lies in a
different pose than the training.
- It then trains the model and searches for it in the input scene.
The detected poses are further refined
by ICP
- and printed to the standard output.
**************** Running on 64 bits Running without
OpenMP and without TBB Training...
Training complete in 22.2127 sec
Loading model...
Starting matching...
PPF Elapsed Time 1.06171 sec Number of
matching poses: 19 Performing ICP on 2
poses...
ICP Elapsed Time 2.06349 sec Poses:
Pose Result 0
-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821
1.000000 0.000050 -0.000090 -0.057548
-0.000050 1.000000 0.000039 0.027540
0.000090 -0.000039 1.000000 -0.007792
0.000000 0.000000 0.000000 1.000000
Pose Result 1
-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828
1.000000 0.000049 -0.000090 -0.057533
-0.000049 1.000000 0.000039 0.027463
0.000090 -0.000039 1.000000 -0.007803
0.000000 0.000000 0.000000 1.000000
Appuyez sur une touche pour
continuer...
and with VS 2013 x64
- Surface Matching demonstration : demonstrates the use of surface matching using point pair features.
- The sample loads a model and a scene, where the model lies in a different pose than the training.
- It then trains the model and searches for it in the input scene. The detected poses are further refined by ICP
- and printed to the standard output.
Running on 64 bits
Running without OpenMP and without TBB
Training...
Training complete in 24.2451 sec
Loading model...
Starting matching...
PPF Elapsed Time 1.01252 sec
Number of matching poses: 19
Performing ICP on 2 poses...
ICP Elapsed Time 1.1942 sec
Poses:
Pose Result 0
-- Pose to Model Index 67: NumVotes = 954, Residual = 0.002821
1.000000 0.000050 -0.000090 -0.057547
-0.000050 1.000000 0.000039 0.027540
0.000090 -0.000039 1.000000 -0.007792
0.000000 0.000000 0.000000 1.000000
Pose Result 1
-- Pose to Model Index 225: NumVotes = 682, Residual = 0.002828
1.000000 0.000049 -0.000090 -0.057533
-0.000049 1.000000 0.000039 0.027463
0.000090 -0.000039 1.000000 -0.007803
0.000000 0.000000 0.000000 1.000000
Appuyez sur une touche pour continuer...
Which opencv version do you use? What is exactly error message ?
opencv-3.2.0-vc14 and error message is : Run-Time Check Failure#2 - Stack around the variable 'hashKey' was corrupted
"When I am compiling surface_matching" No when you run surface_matching. Which program do you run?
I m sorry I write false I use visual studio 2013 and opencv-3.2.0-vc14 and (for working code I click local windows Debugger )
Which program did you execute?
I sorry I cant understand (c++ ,console application, configaration manager -> x64 no win32)
Any advice ??
You don't really help me with your answer. I have to guess which example you tried to execute. I suppose it is ppf_load_match.exe but may be I'm wrong
I want to run this programm http://docs.opencv.org/3.0-beta/modul... and I opened t_hash_int.hpp .I found typedef unsigned int KeyType; I replace
But Ihave hashkey error again