參考blog
.org/bbs/article_1156_538517.html
說明:作業系統
ubuntu 12.04 desktop lts qt
是c++圖行使用者介面開發框架。它既可以開發gui程式,也可用於開發非gui程式,比如控制台工具和伺服器。qt
易於擴充套件,並且允許元件程式設計,
它可以執行在
windows,mac os x, unix,linux。
opencv是計算機開源視覺庫
可以執行在linux、windows和mac os作業系統上。它輕量級而且高效——由一系列 c 函式和少量 c++ 類構成,同時提供了python、ruby、matlab等語言的介面,實現了影象處理
和計算機視覺方面的很多通用演算法。
1.前期準備
opencv.
書上以2.3.1
版本為例,為保持一致性,採用
opencv2.3.1
安裝cmake
sudo apt-get install cmake
cmake
是乙個跨平台的安裝(編譯
)工具,可以用簡單的語句來描述所有平台的安裝
(編譯過程
)。他能夠輸出各種各樣的
makefile
或者project檔案,
能測試編譯器
所支援的
c++特性,類似
unix
下的automake
。opencv
使用cmake
進行makefile
的建立。
安裝qtcreator
sudo apt-get install qtcreator 2.
安裝 將opencv
包解壓到使用者目錄下,得到
opencv
資料夾
cd ~/opencv
mkdir release
cd release
cmake -d cmake_build_type=release -d cmake_install_prefix=/usr/local ..
(注意「
..」前有空格)
make
等待大概十分鐘
make完成
sudo make install 至此
opencv
庫安裝到了
/usr/local/lib
目錄下,重啟電腦,或者執行
sudo ldconfig
(關於ldconfig:ubuntu
把在開機時所有庫檔案裝入到快取,這樣避免每次使用鏈結庫都需裝載,提高系統的效率,
ldconfig
命令就是重新裝載,可通過
ldconfig -v
檢視已經在快取裡的庫。)
3.qt4+opencv
組合配置示例
下面就可以使用qt和
opencv
進行開發了。 開啟
qtcreator
新建專案,新增標頭檔案,原始檔及其**(如下,示例專案在附件裡也有)
//opencv_example.h
#ifndef
opencv_example_h
#define///opencv_example.cppopencv_example_h
#include
#include
#include
"cv.h"
#include
"highgui.h"
class
opencv_example
:public
qmainwindow
;#endif
//opencv_example_h
#include然後構建執行。"opencv_example.h"
opencv_example
::opencv_example
()void
opencv_example
::slot_imgshow()
在main
中編寫:
#include
#include
"opencv_example.h"
intmain(
intargc,
char
*argv)
在.pro
檔案中新增編譯/
鏈結選項
includepath
+=/usr/local/
include
includepath+=/usr/local/include/opencv
libs+=/usr/local/lib/libopencv_core.so
libs+=/usr/local/lib/libopencv_highgui.so
libs+=/usr/local/lib/libopencv_imgproc.so
4.說明,以後在qt
的專案的.pro檔案裡類似的加入上邊的配置即可。
按照以上配置好之後,qt顯示說找不到libopencvhighgui
於是又參考了
把/usr/local/lib寫入/etc/
ld.so.conf
成功搞定
原環套原環
今天在除錯兄弟的程式的時候發現了乙個問題,就是在組合資料的時候,有些時候可以成功,有些時候失敗,感覺十分奇怪。功能大概是這樣的,就是在一棵樹上掛資料,所有的節點都可以有資料,不只是葉子的,在組合資料的時候,可以從任意節點取資料,但是不能是重複的資料。資料可能出現的情況如圖a b c所示,圖a是沒有干...
單鏈表的環入口,環大小,解環
1.單鏈表是否有環 使用快慢指標,都從head出發,慢指標一次一步,快指標一次兩步,如果兩個指標相遇,說明鍊錶有環,否則,快指標為null或其next為null,到達末尾節點 function hascircle head return fast null fast.next null 2.單鏈錶環...
有環鏈表的環起點
用兩個指標,乙個快指標一次走兩步,乙個慢指標一次走一步。快慢指標可以重合表示鍊錶有環,此時距離環起點的距離和起點距離環起點的距離相等。include bits stdc h using namespace std struct list list beginofcircle list p1,list...