樹莓派學習筆記—— 原始碼方式安裝opencv
0.前言
本文介紹如何在樹莓派中通過編譯原始碼的方式安裝opencv,並通過一個簡單的例子說明如何使用opencv。1.下載若干依賴項 在開始安裝之前,最好更新樹莓派軟體源。如果更新時間太長,請參考博文修改軟體源網路地址——【樹莓派學習筆記——修改樹莓派軟體源】sudo apt-get update 請依次安裝以下依賴項,這些必須安裝的依賴項來自於opencv官網的說明,在多數debian系統中都可以採用這種方式進行安裝。其實在樹莓派中build-essential已經預設安裝,但是cmake等其他內容仍需要手動安裝。sudo apt-get install build-essential#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main (int argc, char **argv)
{
Mat image, image_gray;
image = imread(argv[1], CV_LOAD_IMAGE_COLOR );
if (argc != 2 || !image.data) {
cout << "No image data\n";
return -1;
}
cvtColor(image, image_gray, CV_RGB2GRAY);
namedWindow("image", CV_WINDOW_AUTOSIZE);
namedWindow("image gray", CV_WINDOW_AUTOSIZE);
imshow("image", image);
imshow("image gray", image_gray);
waitKey(0);
return 0;
}
【makefile】INCLUDE = $(shell pkg-config --cflags opencv)
LIBS = $(shell pkg-config --libs opencv)
SOURCES = test.cpp
# 目標檔案
OBJECTS = $(SOURCES:.cpp=.o)
# 可執行檔案
TARGET = test
$(TARGET):$(OBJECTS)
g++ -o $(TARGET) $(OBJECTS) -I $(INCLUDE) $(LIBS)
$(OBJECTS):$(SOURCES)
g++ -c $(SOURCES)
clean:
rm $(OBJECTS) $(TARGET)
# 編譯規則 [email protected]代表目標檔案 $< 代表第一個依賴檔案
%.o:%.cpp
g++ -I $(INCLUDE) -o [email protected] -c $<
【簡要說明】 通過pkg-config --cflags opencv 獲得opencv相關標頭檔案路徑,通過pkg-config --libs opencv獲得opencv擴充套件庫【編譯並執行】make./test raspberry.jpg 示例中載入一張名為raspberry.jpg圖片。在該示例中,圖片和可執行檔案test應在同一個目錄中。執行結果如下圖所示,左側為原始圖片,右側為轉換後的圖片。選擇的圖片色彩不夠豐富,彩色圖片和黑白圖片的對比不夠強烈,但也可證明opencv在樹莓派中執行正常。圖1 執行結果5.總結樹莓派安裝opencv並不困難,陷阱不多但是耗時較長,需要保持足夠的耐心。參考資料
相關推薦
樹莓派學習筆記—— 原始碼方式安裝opencv
0.前言 本文介紹如何在樹莓派中通過編譯原始碼的方式安裝opencv,並通過一個簡單的例子說明如何使用opencv。1.下載若干依賴項 在開始安裝之前,最好更新樹莓派軟體源。如果更新時間太長,請參考博文修改軟體源網路地址——【樹莓派學習筆記——修改樹莓派軟體源】s
樹莓派學習筆記——apt方式安裝opencv
0.前言 本文介紹如何在樹莓派中通過apt方式安裝opencv,並通過一個簡單的例子說明如何使用opencv。相比於原始碼方式安裝opencv,通過apt方式安裝過程步驟簡單些,消耗的時間也少一些。通過apt方式安裝沒有自動生成opencv.pc檔案,所以在編寫make
樹莓派學習筆記—— 源碼方式安裝opencv
鏈接 spa lin fonts 耗時 sdn 圖片 ostream unix 0.前言? ? 本文介紹怎樣在樹莓派中通過編譯源碼的方式安裝opencv,並通過一個簡
樹莓派學習筆記——webiopi安裝與入門
webiopi是一個可控制樹莓派GPIO的web框架,該框架面向物聯網IoT開發。該專案託管於google,並可在sourceforge上下載到原始碼。現在webiopi已經發展到0.7版本,webiopi支援REST Server,CoAP server,並提供python庫和javascript庫
【樹莓派學習筆記】樹莓派入坑筆記二 LCD安裝
樹莓派入坑筆記 ——LCD安裝 上次將系統安裝完成之後,只能通過遠端連線或者連線HDMI顯示器,對於小巧的樹莓派不是特別方便。因此安裝一塊與其體積相似的LCD是個不錯的選擇。 一.3.5寸LCD簡介 (1)螢幕簡介 (2)主要引數: 解析度:4
樹莓派學習筆記——使用檔案IO操作GPIO SysFs方式
0 前言 本文描述如果通過檔案IO sysfs方式控制樹莓派 GPIO埠。通過sysfs方式控制GPIO,先訪問/sys/class/gpio目錄,向export檔案寫入GPIO編號,使得該GPIO的操作介面從核心空間暴露到使用者空間,GPIO的操作介面包括direction和value等,direct
樹莓派學習筆記二:軟體包安裝
上一篇我們完成了 樹莓派ubuntu映象的燒錄和ROS的安裝,這一篇我們來講一下到底需要裝哪些軟體包 軟體1:vim(根據個人習慣) sudo apt-get install vim 軟體2:bo
樹莓派Python3 最簡單方式安裝OpenCv3.4.0
因為最近在開發使用樹莓派+usb攝像頭識別模組,打算用OpenCv,發現網上的樹莓派OpenCv安裝教程都過於繁瑣佔用記憶體大,我經過自己的實驗,發現出了一種非常簡易快捷的方式,網速OK的話,十分鐘能安裝完成。 我用的環境: 樹莓派3b+ Python3.5.4
樹莓派學習筆記——crontab定時執行指令碼
crontab定時執行指令碼 如果在玩樹莓派的過程中,我們需要定時或者定期的執行一些程式或指令碼,這裡有個好方法,就是Linux下的 crontab。 通常會用到的就是兩個命令: 檢視已有的定時任務 [email protected]:~ $ cront
樹莓派學習筆記(7):利用bypy實現樹莓派NAS同步百度雲
樹莓派製作NAS過程詳見http://www.cnblogs.com/xiaowuyi/p/4051238.html。 Bypy是一個百度雲/百度網盤的Python客戶端,主要的目的就是在Linux環境下(命令列)同步百度雲盤空間。Bypy要求python2.7
樹莓派學習筆記——SQLite操作簡述
0 前言 本文介紹如何在樹莓派中利用SQLite資料庫儲存CPU溫度資料。SQLite是一款輕量級零配置資料庫,非常適合在樹莓派和其他嵌入式系統中使用。SQLite文件詳細資料豐富,本文不會詳細解釋SQLite資料庫操作的方方面面,只能結合具體場景按需說明。本文介紹的S
樹莓派學習(三)基於OpenCv的人臉識別
博主的課程設計選題,開始在網上參考了諸多教程踩了很多坑最終得以實現,所以寫下心得總結,以便後人乘涼~https://blog.csdn.net/kyokozan/article/details/79192646https://blog.csdn.net/LC_1994/art
樹莓派學習筆記(一)
1.樹莓派介紹 Raspberry Pi(中文名為“樹莓派”,簡寫為RPi,(或者RasPi / RPI) 是為學生計算機程式設計教育而設計,只有信用卡大小的微型電腦,其系統基於Linux。 隨著Windows 10 IoT的釋出,我們也將可以用上執行Wi
樹莓派學習筆記——wiringPi GPIO使用詳解
2.BCM2835 GPIO相關暫存器 (該部分表述可能有誤,正在確認修改中) 樹莓派平臺的GPIO驅動,例如RPi.GPIO和WiringPi均採用直接操作GPIO暫存器的方式,樹莓派的CPU採用博通的BCM2835,想要更好的瞭解樹莓派的GPIO驅動實現就必須閱讀BCM2835的資料手冊。在B
樹莓派學習筆記——使用標準PC104鍵盤
0 前言 本文將詳細介紹樹莓派的鍵盤設計。和多數的人的想法不同,世界上存在著各種各樣不同的鍵盤,中國人使用的鍵盤和美國人使用的鍵盤相同,而樹莓派源產自英國,英國的鍵盤和美國並不相同。國內多使用標準104鍵鍵盤,下面就講講如何配置。 【相關博文】1 PC104標準鍵
樹莓派學習筆記——GPIO功能學習
可以在windows中編寫程式碼,如果是Python指令碼可通過FTP軟體傳輸到樹莓派中,然後使用SSH客戶端登入到樹莓派中執行Python指令碼。如果是C語言檔案,除了使用FTP傳輸之外還需要在樹莓派上編譯才可以生成可執行檔案(相當於windows上的exe檔案)。相關軟體操作請參考【樹莓派學習筆記
樹莓派學習筆記——I2C Tools 學習筆記
說明2:此處I2C匯流排共掛載兩個裝置——PCF8574和AT24C04,從機地址0x20為PCF8574,從機地址0x50和0x51為AT24C04,請注意AT24C04具備兩個I2C地址,相關內容請產看參考資料6.4。
樹莓派學習筆記——UART使用
# -*- coding: utf-8 -* import serial import time # 開啟串列埠 ser = serial.Serial("/dev/ttyAMA0", 9600) def main(): while True: # 獲得接收緩衝區字元
樹莓派學習筆記——交叉編譯工具鏈
交叉編譯工具較快開發的速度。樹莓派中已經安裝了gcc工具鏈,可在樹莓派中直接編譯原始碼生成可執行檔案。於此同時,PC機上也可使用gcc工具鏈生成可執行程式碼,但是和樹莓派上的gcc工具不同,PC機上的gcc工具生成intel或amd晶片上可執行的程式碼,但樹莓派卻是arm系列的晶片,顯然存在不小的差異
樹莓派學習筆記——Linux I2C驅動說明
1.前言通常情況下,I2C裝置由核心驅動控制,但是某些情況下I2C裝置也可由使用者空間控制。如果在使用者空間控制I2C裝置,需要訪問/dev目錄中所提供的介面,在使用I2C裝置之前必須要載入i2c-dev裝置。每一個已經註冊的IC裝置都有一個編號,該編號從0開始計算。可以檢視