正文之前
今天終于可以暢快的玩玩?zhèn)髡f中的OpenCV了。。。美滋滋?。?/p>

但是??!

此處敲桌!!我太天真了!人人談之色變的OpenCV怎么可能這么容易被我得手呢???!不存在的!!

正文
實(shí)戰(zhàn)中遇到了幾個問題,主要是因為昨晚用的是python,今天用的我大C++,所以有點(diǎn)差別,昨晚沒發(fā)現(xiàn)!~~今天一弄,問題就出來了。。。
首先,是編譯不通過~ 你看,別人家的代碼毛問題都沒有??!但是只要我按照常規(guī)手法去操作,不變的代碼,千樣的GG~~~?。。。。。。?/p>


然而我的呢?!??!我的呢??。?!


全線飄紅?。。?!慘不忍睹啊?。。∥乙欢ㄒ褕箦e給你們看?。?/p>
/tmp/ccFjv3cQ.o:在函數(shù)‘main’中:
opencvtest1.cpp:(.text+0x2b):對‘cv::VideoCapture::VideoCapture(int)’未定義的引用
opencvtest1.cpp:(.text+0x3a):對‘cv::VideoCapture::isOpened() const’未定義的引用
opencvtest1.cpp:(.text+0x81):對‘cv::VideoCapture::operator>>(cv::Mat&)’未定義的引用
opencvtest1.cpp:(.text+0xe9):對‘cv::cvtColor(cv::_InputArray const&, cv::_OutputArray const&, int, int)’未定義的引用
opencvtest1.cpp:(.text+0x190):對‘cv::GaussianBlur(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int>, double, double, int)’未定義的引用
opencvtest1.cpp:(.text+0x20a):對‘cv::Canny(cv::_InputArray const&, cv::_OutputArray const&, double, double, int, bool)’未定義的引用
opencvtest1.cpp:(.text+0x26d):對‘cv::imshow(cv::String const&, cv::_InputArray const&)’未定義的引用
opencvtest1.cpp:(.text+0x295):對‘cv::waitKey(int)’未定義的引用
opencvtest1.cpp:(.text+0x2dd):對‘cv::VideoCapture::~VideoCapture()’未定義的引用
opencvtest1.cpp:(.text+0x3ba):對‘cv::VideoCapture::~VideoCapture()’未定義的引用
/tmp/ccFjv3cQ.o:在函數(shù)‘cv::String::String(char const*)’中:
opencvtest1.cpp:(.text._ZN2cv6StringC2EPKc[_ZN2cv6StringC5EPKc]+0x54):對‘cv::String::allocate(unsigned long)’未定義的引用
/tmp/ccFjv3cQ.o:在函數(shù)‘cv::String::~String()’中:
opencvtest1.cpp:(.text._ZN2cv6StringD2Ev[_ZN2cv6StringD5Ev]+0x14):對‘cv::String::deallocate()’未定義的引用
/tmp/ccFjv3cQ.o:在函數(shù)‘cv::Mat::~Mat()’中:
opencvtest1.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x39):對‘cv::fastFree(void*)’未定義的引用
/tmp/ccFjv3cQ.o:在函數(shù)‘cv::Mat::release()’中:
opencvtest1.cpp:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x4b):對‘cv::Mat::deallocate()’未定義的引用
collect2: error: ld returned 1 exit status
去他大爺?shù)模。。∵€能好好玩耍嗎???然后,千方百計之下。??偹氵€是找到了解決方案了??!
我找了一篇博客,然后內(nèi)容如下:
我一直以為是C++11或者g++版本的原因,看到:
g++ `pkg-config --cflags --libs opencv` lena.cpp -o lena
這樣會編譯失敗,而
g++ lena.cpp `pkg-config --cflags --libs opencv` -o lena
這樣就會成功。試了一下果然如此。真是奇怪。
我就一點(diǎn)都不奇怪。。。。有啥好奇怪的??不變的系統(tǒng),流水的bug,習(xí)慣就好。。why it don't work?? It work!! but Why?千年疑問,別指望自己能回答,乖乖的照就好??!

一點(diǎn)就通,按照一些大佬說的,貌似是因為C++要指定動態(tài)庫鏈接???opencv這個小bitch真是讓人不省心?。?!
到了一這一步,在樹莓派上就可以愉快的跑起來了。。

但是在ubuntu上。。呵呵,年輕?。〕晕乙挥沚ug?。?!
error while loading shared libraries: libopencv_highgui.so.3.4: cannot open

借鑒博客來源: OpenCV編譯遇到的一個常見錯誤-./bin: error while loading shared libraries: libopencv_highgui.so.3.2: cannot open
他的分了很多步驟,但是我覺得沒必要。。所以給你放福利。。。一條命令搞定它??!當(dāng)然,要知道具體情節(jié),還是去那個博客看啊哈!
sudo echo "include /usr/local/lib" >> /etc/ld.so.conf && sudo ldconfig && sudo echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig " >> /etc/bash.bashrc && echo "export PKG_CONFIG_PATH " >> /etc/bash.bashrc && source /etc/bash.bashrc
這一句就是他整個博客的濃縮,盡管拿去,中間會要你輸入密碼。。不過應(yīng)該就一次了??!
然后你就發(fā)現(xiàn),ubuntu也可以跑攝像頭了!!娃哈哈!!

有點(diǎn)驚悚哈。。別介意~~ 我溜了
正文之后
唉。我初中班主任的兒子老是不愛學(xué)習(xí)。。被他媽媽一罵就鬧氣,要中考了還不學(xué)習(xí)。。。我在這兒苦口婆心的勸。。真的是。。頭疼。。
現(xiàn)在的小孩怎么就沒一點(diǎn)危機(jī)感呢?未來這個世界是要“人吃人的”,不趁著社會給你相對公平發(fā)展的機(jī)會去擠壓更多人的生存空間,就這么甘做社會的螺絲釘???真是,幼稚!