简体   繁体   中英

Opencv installation on Linux system

I am a new-bee in Linux and was trying to install OpenCV in Linux. I was following the document given in the link http://opencv.willowgarage.com/wiki/InstallGuide_Linux step by step but at last failed to find anything like ./cxcoretest. Please tell me if the guide given is inconsistent. I Think many people face problems while trying to install opencv on their system(specially new linux learners). If someone can write good installation guide for opencv keeping in mind the learners it will do a great help.

Here is the "ls" of my bin folder

3calibration                      laplace
adaptiveskindetector              latentsvmdetect
bagofwords_classification         letter_recog
bgfg_codebook                     lkdemo
bgfg_segm                         matcher_simple
blobtrack_sample                  matching_to_many_images
brief_match_test                  meanshift_segmentation
build3dmodel                      minarea
calibration                       morfology_gpu
calibration_artificial            morphology
camshiftdemo                      morphology2
cascadeclassifier_gpu             motempl
cascadeclassifier_nvidia_api_gpu  mser_sample
chamfer                           multicascadeclassifier
connected_components              multi_gpu
contours                          mushroom
contours2                         one_way_sample
convert_cascade                   opencv_createsamples
convexhull                        opencv_haartraining
cout_mat                          opencv_performance
delaunay                          opencv_stitching
delaunay2                         opencv_test_calib3d
demhist                           opencv_test_core
descriptor_extractor_matcher      opencv_test_features2d
detector_descriptor_evaluation    opencv_test_gpu
dft                               opencv_test_highgui
distrans                          opencv_test_imgproc
drawing                           opencv_test_ml
driver_api_multi_gpu              opencv_test_objdetect
driver_api_stereo_multi_gpu       opencv_test_video
edge                              opencv_traincascade
em                                peopledetect
facedetect                        performance_gpu
fback                             points_classifier
fback_c                           polar_transforms
ffilldemo                         pyramid_segmentation
filestorage                       retinaDemo
find_obj                          segment_objects
find_obj_calonder                 select3dobj
find_obj_ferns                    squares
fitellipse                        starter_imagelist
generic_descriptor_match          starter_video
grabcut                           stereo_calib
hog_gpu                           stereo_match
houghlines                        stereo_match_gpu
image                             stereo_multi_gpu
imagelist_creator                 surf_keypoint_matcher_gpu
inpaint                           tree_engine
kalman                            video_dmtx
kinect_maps                       video_homography
kmeans                            watershed

I am assuming that you have build the OpenCV libs using the as per the install guide for linux. The opencv_test_* are useful to test opencv installation. Especially, the opencv_test_core binary which runs and validates everything is fine with the core library. This binary replaces the cxcoretest executable. In case of OpenCV2.3 (as checked out from svn) you will have to copy the cv folder from the /2.3/opencv_extra/testdata to your /2.3/opencv/release folder. Other wise some of the tests will fail because of missing data files.

Since opencv is a framework, the remaining binaries are from the samples section of the opencv release.If you have compiled this library as per the linux install instructions, its is compiled as dynamically linked libraries . You will find them in /usr/local/lib and the include files for development purposes in /usr/local/include. These are the de facto folders for locally compiled libraries in almost all linux distro's. You can run /sbin/ldconfig to ensure that these libraries can be linked to during development.

If you are running Ubuntu, the /usr/local is already in the ldconfig path so the linker will automatically locate and register these dll's (or so's for that matter). Other wise please read the man file for ldconfig and ldconf relevant to your distro.

My idea is that the doc has not been updated. Some time ago, the name of the libs have changed to be more specialized.

I think you should try to execute opencv_test_core

I know that a lot of Opencv documentation is somehow tricky :). I had a lot of problems myself. Most of them because the doc is not always updated as it should.

BTW, it is a good thing not to simply install the libcv of Ubuntu. This is completely outdated!

Often you can get stuck down a rabbit-hole when you are installing Linux apps, what with all the dependencies etc. I'm no expert myself, but I recall Mint being a spin-off from Ubuntu, so it might be worth googling how to install OpenCV in that distro as a starting point. This link looks useful: https://help.ubuntu.com/community/OpenCV

The answer given by Antony John is correct but the answer is from 2012 and I would like to bring in a new approach to the similar problem faced by many developers. Docker has got famous in developer community lately and using them has improved building/development and deployment process. Hence, using Docker images for environment setup is a good way to setup either opencv or other libraries requiring setup time.

You can work using opencv along with other sk-learn libraries using the Dockerfile . Using Docker for environment are a good way to run experiments in reproducible manner as in this blog

You can also try using datmo in order setup environment and track machine learning projects for making it reproducible using datmo CLI tool.

Looks like it got installed on my system. I was able to compile and execute a simple program. The official guide needs to get updated. It mentions some tests( to verify the installation of opencv) which are not in sync with the latest release. Although some tests still fail but looks like that may be traced to some particular package. As jelingrand mentioned that millions of users are currently using it, I am wondering why are they not complaining/updating the installation guide. If someone here has privilege to make corrections please take it up.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM