給未來的裕翔
編譯器是否最佳化是由參數決定
也就是寫在Makefile裡面
不過跑完./configure後
用find -name Makefile | wc -l
發現有16個Makefile
一個個改太白癡了
所以針對源頭configure檔
把裡面所有的-O2和-O3都換成-O0就好
ps: 終於可以不用在gdb的時候
看到一堆<value optimized out>了......
ps: 要檢查一個function 裡面有沒有變數是<value optimized out>
可以在gdb裡面用info local, 列出所有local變數
Showing posts with label opencv. Show all posts
Showing posts with label opencv. Show all posts
Sunday, April 11, 2010
Saturday, March 20, 2010
OpenCV的sample執行出問題
給未來的裕翔
把ldd問題處理掉之後
執行facedetect會出現類似以下的錯誤訊息
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/pison/programs/opencv/src/highgui/window.cpp, line 100
terminate called after throwing an instance of 'cv::Exception'
Aborted
依照建議安裝gtk2-devel套件
重新./configure, make, make install
重新執行facedetect, 耶~!
把ldd問題處理掉之後
執行facedetect會出現類似以下的錯誤訊息
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/pison/programs/opencv/src/highgui/window.cpp, line 100
terminate called after throwing an instance of 'cv::Exception'
Aborted
依照建議安裝gtk2-devel套件
重新./configure, make, make install
重新執行facedetect, 耶~!
Wednesday, March 17, 2010
OpenCV需要librdf加速
給未來的裕翔
OpenCV的facedetect需要librdf加速
如果沒有安裝
會出現以下警告
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
這個時候直接yum whatprovides librdf是找不到東西的
請別忘記, 平常講哪個library的時候, 是不會講後面的副檔名so的
所以真的要搜尋時
yum whatprovides */librdf.so
此時不只出現一個符合套件
不過只有一個套件所提供的librdf.so直接放在/usr/lib/下
redland-devel
就是它了!
後記: 裝是裝了, 也有把它加到makefile裡, 但好像變慢了?
OpenCV的facedetect需要librdf加速
如果沒有安裝
會出現以下警告
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
這個時候直接yum whatprovides librdf是找不到東西的
請別忘記, 平常講哪個library的時候, 是不會講後面的副檔名so的
所以真的要搜尋時
yum whatprovides */librdf.so
此時不只出現一個符合套件
不過只有一個套件所提供的librdf.so直接放在/usr/lib/下
redland-devel
就是它了!
後記: 裝是裝了, 也有把它加到makefile裡, 但好像變慢了?
Tuesday, March 16, 2010
阿~哈哈哈哈哈! OpenCV移植大成功!
給未來的裕翔
阿~哈哈哈哈哈!
讓我紀錄一下g++使用筆記
阿~哈哈哈哈哈!
複製OpenCV中文網裡面的人臉檢測程式碼
(不知為啥, 直接使用Opencv-2.0.0裡面的sample編譯會有錯)
OpenCV中文網:
http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5
人臉檢測程式碼:
http://www.opencv.org.cn/index.php/%E4%BA%BA%E8%84%B8%E6%A3%80%E6%B5%8B
把它複製貼到facedetect.cpp檔裡去
此facedetect.cpp和之前找的其它cpp程式碼放在一起
(為了不使用已編譯好的so檔)
g++ -c *.c*
編譯所有的c或cpp成object檔, 它們需要的header檔之前已放在當下資料夾
(現在的我會嘗試用g++ -I指定include資料夾)
g++ -o facedetect *.o -L/usr/lib -lhighgui
把所有的object連結在一起成為facedetect執行檔
指定/usr/lib/libhighgui.so作為此執行檔動態函式庫
這樣編譯出來的執行檔
終於不會再讓圖歪歪的了!
阿~哈哈哈哈哈!
ps: /usr/lib裡面的so檔都取名為像是libxxx.so, libzzz.so這樣的形式
想以-L使用libxxx.so時, ex:
g++ (中略) -L/usr/lib/ -lxxx
兩個都要使用時, ex:
g++ (中略) -L/usr/lib/ -lxxx -lzzz
阿~哈哈哈哈哈!
阿~哈哈哈哈哈!
讓我紀錄一下g++使用筆記
阿~哈哈哈哈哈!
複製OpenCV中文網裡面的人臉檢測程式碼
(不知為啥, 直接使用Opencv-2.0.0裡面的sample編譯會有錯)
OpenCV中文網:
http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5
人臉檢測程式碼:
http://www.opencv.org.cn/index.php/%E4%BA%BA%E8%84%B8%E6%A3%80%E6%B5%8B
把它複製貼到facedetect.cpp檔裡去
此facedetect.cpp和之前找的其它cpp程式碼放在一起
(為了不使用已編譯好的so檔)
g++ -c *.c*
編譯所有的c或cpp成object檔, 它們需要的header檔之前已放在當下資料夾
(現在的我會嘗試用g++ -I指定include資料夾)
g++ -o facedetect *.o -L/usr/lib -lhighgui
把所有的object連結在一起成為facedetect執行檔
指定/usr/lib/libhighgui.so作為此執行檔動態函式庫
這樣編譯出來的執行檔
終於不會再讓圖歪歪的了!
阿~哈哈哈哈哈!
ps: /usr/lib裡面的so檔都取名為像是libxxx.so, libzzz.so這樣的形式
想以-L使用libxxx.so時, ex:
g++ (中略) -L/usr/lib/ -lxxx
兩個都要使用時, ex:
g++ (中略) -L/usr/lib/ -lxxx -lzzz
阿~哈哈哈哈哈!
OpenCV編譯成功!
給未來的裕翔
OpenCV-2.0.0編譯成功
當初失敗時的錯誤訊息是缺少 zopen, zclose這些東東
重新嘗試make前有先把原本的資料夾移除
然後對OpenCV的tarball解壓縮
tar -jxf OpenCV-2.0.0.tar.bz2
跟上次不同的是
這次有盡可能的安裝INSTALL檔案裡建議的"選擇性安裝"套件
像是: subversion, python, swig, ......
我推測, 成功的關鍵可能是因為這次有安裝zlib-devel
之前失敗的時候, 是在有zlib而沒zlib-devel的情況下
加上錯誤訊息和zopen, zclose有關
所以我如此推測
安裝好之後
以root權限make install, 因為要在/usr/lib裡面新增檔案
突然在想: 之前我亂嘗試放置的libhighgui.so
是被蓋過還是略過? 不知道 (好像獵人的推理)
所以我mv /usr/lib/libhighgui.so /usr/lib/libhighgui.so.bak
touch /usr/lib/libhighgui.so
原來的lighighgui.so是一個連結檔
而我製作的只是普通空檔案
再次make install之後
蓋過!
因此不用擔心之前的嘗試影響我的make install
OpenCV-2.0.0編譯成功
當初失敗時的錯誤訊息是缺少 zopen, zclose這些東東
重新嘗試make前有先把原本的資料夾移除
然後對OpenCV的tarball解壓縮
tar -jxf OpenCV-2.0.0.tar.bz2
跟上次不同的是
這次有盡可能的安裝INSTALL檔案裡建議的"選擇性安裝"套件
像是: subversion, python, swig, ......
我推測, 成功的關鍵可能是因為這次有安裝zlib-devel
之前失敗的時候, 是在有zlib而沒zlib-devel的情況下
加上錯誤訊息和zopen, zclose有關
所以我如此推測
安裝好之後
以root權限make install, 因為要在/usr/lib裡面新增檔案
突然在想: 之前我亂嘗試放置的libhighgui.so
是被蓋過還是略過? 不知道 (好像獵人的推理)
所以我mv /usr/lib/libhighgui.so /usr/lib/libhighgui.so.bak
touch /usr/lib/libhighgui.so
原來的lighighgui.so是一個連結檔
而我製作的只是普通空檔案
再次make install之後
蓋過!
因此不用擔心之前的嘗試影響我的make install
Subscribe to:
Posts (Atom)