frame tests complete successfully.
This commit is contained in:
parent
2e304394e5
commit
3022adcbb7
@ -62,6 +62,7 @@ add_library(${LIBDART_OPENMVG} SHARED
|
||||
"frame.cxx"
|
||||
"streamingview.cxx"
|
||||
"image.cxx"
|
||||
"util.cpp"
|
||||
)
|
||||
|
||||
set(CEREAL_INCLUDE_DIR ${OpenMVG_DIR}/../../../include/openMVG_dependencies/cereal/include/cereal/)
|
||||
@ -100,13 +101,11 @@ target_link_options(${LIBDART_OPENMVG} PRIVATE "-Wl,-Bdynamic")
|
||||
add_executable(
|
||||
test_image
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tests/test_image.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/util.cpp
|
||||
)
|
||||
|
||||
add_executable(
|
||||
test_frame
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tests/test_frame.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/util.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 7fd19fc22419a35481d39d2946f77e1dc00df37c
|
||||
Subproject commit aff37dd005f85b3589aa50caca13b74ca7bd57e4
|
@ -77,6 +77,11 @@ void clean_frame(Frame *f) {
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
DartOpenMvg::Frame::Frame(const DartOpenMvg::Frame &frame) {
|
||||
cFrame = frame.cFrame;
|
||||
mRegions = std::unique_ptr<openMVG::features::Regions>(frame.mRegions.get());
|
||||
}
|
||||
|
||||
openMVG::image::Image<u_char> DartOpenMvg::imageFromFrame(const CFrame *frame)
|
||||
{
|
||||
rewind(frame->stream);
|
||||
@ -112,10 +117,10 @@ void DartOpenMvg::Frames::computeMatches()
|
||||
// Within openMvg::matching_image_collection::Matcher
|
||||
// they matcha gainst *ALL* images. However, since we know the order of the
|
||||
// image sequences (video frames), we'll stick to the sequence order.
|
||||
for (size_t i = 0; i < this->size() - 1; ++i)
|
||||
for (size_t i = 0; i < mFrames.size() - 1; ++i)
|
||||
{
|
||||
const Frame &frame1 = this->at(i);
|
||||
const Frame &frame2 = this->at(i + 1);
|
||||
const Frame &frame1 = mFrames[i];
|
||||
const Frame &frame2 = mFrames[i+1];
|
||||
auto *regions1 = frame1.mRegions.get();
|
||||
auto *regions2 = frame2.mRegions.get();
|
||||
|
||||
|
14
src/frame.h
14
src/frame.h
@ -80,6 +80,7 @@ namespace DartOpenMvg
|
||||
read_buffer(f->stream, &buffer_data, &len);
|
||||
mStream = std::stringstream(std::string((char *)buffer_data));
|
||||
}
|
||||
Frame(const Frame &);
|
||||
openMVG::image::Image<u_char> getMvgImage();
|
||||
void calculateFeatures();
|
||||
};
|
||||
@ -87,7 +88,7 @@ namespace DartOpenMvg
|
||||
typedef std::pair<const Frame &, const Frame &> FrameMatchKey;
|
||||
typedef std::map<std::pair<size_t, size_t>, openMVG::matching::IndMatches> FrameFeatureMatch;
|
||||
|
||||
class Frames : protected std::vector<DartOpenMvg::Frame>
|
||||
class Frames
|
||||
{
|
||||
|
||||
protected:
|
||||
@ -95,13 +96,18 @@ namespace DartOpenMvg
|
||||
openMVG::tracks::STLMAPTracks mTracks;
|
||||
openMVG::sfm::SfM_Data mSfmData;
|
||||
openMVG::sfm::Bundle_Adjustment_Ceres mAdjustment;
|
||||
|
||||
public:
|
||||
|
||||
// TODO: make private with accessors
|
||||
std::vector<Frame> mFrames;
|
||||
|
||||
Frames(openMVG::sfm::Bundle_Adjustment_Ceres::BA_Ceres_options &);
|
||||
void computeMatches();
|
||||
void buildTracks();
|
||||
void adjust ();
|
||||
void resection ();
|
||||
void resectionAll ();
|
||||
void adjust();
|
||||
void resection();
|
||||
void resectionAll();
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
@ -71,11 +71,11 @@ void test_calculate_fetures(void) {
|
||||
void test_compute_matches(void) {
|
||||
Frame *f1 = get_first_frame();
|
||||
Frame *f2 = get_second_frame();
|
||||
DartOpenMvg::Frame frame1(f1), frame2(f2);
|
||||
const DartOpenMvg::Frame frame1(f1), frame2(f2);
|
||||
openMVG::sfm::Bundle_Adjustment_Ceres::BA_Ceres_options opts;
|
||||
DartOpenMvg::Frames frames(opts);
|
||||
frames.insert(frame1);
|
||||
frames.insert(frame2);
|
||||
frames.mFrames.push_back(frame1);
|
||||
frames.mFrames.push_back(frame2);
|
||||
}
|
||||
|
||||
int main()
|
||||
|
Loading…
Reference in New Issue
Block a user