in opencv 3.4.3 I modify features2d.hpp to add gpyr and dogpyr.
CV_WRAP void detectAndCompute( InputArray image, InputArray mask, std::vector& gpyr, std::vector& dogpyr, CV_OUT std::vector& keypoints, OutputArray descriptors,
bool useProvidedKeypoints=false ) ;
I modify two places in sift.cpp to add gpyr and dogpyr.
- void detectAndCompute(InputArray img, InputArray mask,
std::vector& gpyr, std::vector& dogpyr,
std::vector& keypoints, OutputArray descriptors,
bool useProvidedKeypoints = false) ; - void SIFT_Impl1::detectAndCompute(InputArray _image, InputArray _mask, std::vector& gpyr, std::vector& dogpyr,
std::vector& keypoints,OutputArray _descriptors
,bool useProvidedKeypoints) I remark createInitialImage buildGaussianPyramid and buildDoGPyramid,I provide gpyr and dogpyr.
I compile sift.cpp to liblibsift.a as follows:
Building file: …/src/sift.cpp
Invoking: ARM v8 Linux g++ compiler
aarch64-linux-gnu-g++ -Wall -O2 -c -fmessage-length=0 -MT"src/sift.o" -static --sysroot=/home/lsding/opt/pkg/petalinux/2020.1/sysroots/aarch64-xilinx-linux -I/home/lsding/opt/pkg/petalinux/2020.1/sysroots/aarch64-xilinx-linux/usr/include -MMD -MP -MF"src/sift.d" -MT"src/sift.o" -o “src/sift.o” “…/src/sift.cpp”
Finished building: …/src/sift.cpp
Building target: liblibsift.a
Invoking: ARM v8 Linux archiver
aarch64-linux-gnu-ar -r “liblibsift.a” ./src/sift.o
/home/lsding/opt/pkg/Vitis/2020.1/gnu/aarch64/lin/aarch64-linux/bin/…/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-ar.real: creating liblibsift.a
Finished building target: liblibsift.a