\r
if(APPLE)\r
set(WITH_CARBON OFF CACHE BOOL "Use Carbon for UI instead of Cocoa")\r
+ set(WITH_QUICKTIME OFF CACHE BOOL "Use QuickTime for Video I/O insted of QTKit")\r
endif()\r
\r
set(WITH_TBB OFF CACHE BOOL "Include TBB support")\r
message(STATUS " Xine: ${HAVE_XINE}")\r
endif()\r
\r
+if(APPLE)\r
+message(STATUS "")\r
+if(WITH_QUICKTIME)\r
+message(STATUS " Video I/O: QuickTime")\r
+else()\r
+message(STATUS " Video I/O: QTKit")\r
+endif()\r
+endif()\r
+\r
message(STATUS "")\r
message(STATUS " Interfaces: ")\r
if(PYTHONLIBS_FOUND AND BUILD_SWIG_PYTHON_SUPPORT)\r
vector<KeyPoint> objKeypoints, imgKeypoints;
PatchGenerator gen(0,256,5,true,0.8,1.2,-CV_PI/2,CV_PI/2,-CV_PI/2,CV_PI/2);
- FileStorage fs("outlet_model.xml", FileStorage::READ);
+ string model_filename = format("%s_model.xml.gz", object_filename);
+ printf("Trying to load %s ...\n", model_filename.c_str());
+ FileStorage fs(model_filename, FileStorage::READ);
if( fs.isOpened() )
{
detector.read(fs.getFirstTopLevelNode());
- FileStorage fs2("outlet_model_copy.xml", FileStorage::WRITE);
- detector.write(fs2, "outlet-detector");
+ printf("Successfully loaded %s.\n", model_filename.c_str());
}
else
{
+ printf("The file not found and can not be read. Let's train the model.\n");
+ printf("Step 1. Finding the robust keypoints ...\n");
ldetector.setVerbose(true);
ldetector.getMostStable2D(object, objKeypoints, 100, gen);
+ printf("Done.\nStep 2. Training ferns-based planar object detector ...\n");
detector.setVerbose(true);
detector.train(objpyr, objKeypoints, patchSize.width, 100, 11, 10000, ldetector, gen);
- if( fs.open("outlet_model.xml", FileStorage::WRITE) )
- detector.write(fs, "outlet-detector");
+ printf("Done.\nStep 3. Saving the model to %s ...\n", model_filename.c_str());
+ if( fs.open(model_filename, FileStorage::WRITE) )
+ detector.write(fs, "ferns_model");
}
+ printf("Now find the keypoints in the image, try recognize them and compute the homography matrix\n");
fs.release();
vector<Point2f> dst_corners;
cvtColor(object, part, CV_GRAY2BGR);
part = Mat(correspond, Rect(0, object.rows, image.cols, image.rows));
cvtColor(image, part, CV_GRAY2BGR);
-
vector<int> pairs;
Mat H;
if(HAVE_LIBV4L)
set(highgui_srcs ${highgui_srcs} cvcap_libv4l.cpp)
else()
- set(highgui_srcs ${highgui_srcs} cvcap_v4l.cpp)
+ if(HAVE_CAMV4L OR HAVE_CAMV4L2)
+ set(highgui_srcs ${highgui_srcs} cvcap_v4l.cpp)
+ endif()
endif()
if(JPEG_FOUND)
if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
add_definitions(-DHAVE_IMAGEIO=1)
endif()
- set(highgui_srcs ${highgui_srcs} cvcap_qt.mm)
if(WITH_CARBON)
add_definitions(-DHAVE_CARBON=1)
set(highgui_srcs ${highgui_srcs} window_carbon.cpp)
add_definitions(-DHAVE_COCOA=1)
set(highgui_srcs ${highgui_srcs} window_cocoa.mm)
endif()
+ if(WITH_QUICKTIME)
+ set(highgui_srcs ${highgui_srcs} cvcap_qt.cpp)
+ else()
+ set(highgui_srcs ${highgui_srcs} cvcap_qt.mm)
+ endif()
endif(APPLE)
source_group("Src" FILES ${highgui_srcs} ${highgui_hdrs})
endif()
if(APPLE)
- target_link_libraries(${the_target} "-framework QTKit -lbz2 -framework Cocoa -framework CoreFoundation -framework QuartzCore")
+ target_link_libraries(${the_target} "-lbz2 -framework Cocoa -framework QuickTime -framework CoreFoundation -framework QuartzCore")
if(WITH_CARBON)
- target_link_libraries(${the_target} "-framework Carbon -framework QuickTime")
+ target_link_libraries(${the_target} "-framework Carbon")
+ endif()
+ if(NOT WITH_QUICKTIME)
+ target_link_libraries(${the_target} "-framework QTKit")
endif()
endif()