龍芯go之路(二)-安裝opencv-go
工具與資源中心
幫助開發者更加高效的工作,提供圍繞開發者全生命週期的工具與資源
https://developer.aliyun.com/tool?spm=a1z389.11499242.0.0.6545241364KBGP&utm_content=g_1000295017
龍芯派安裝go-opencv
其實龍芯派2代已經整合了opencv2 但其實沒有安裝完全,我們無法正常使用,所以在使用前我們要將其安裝完整
yum install numpy opencv* #在龍芯派聯網的情況下執行這條命令即可,這樣opencv2 就可以安裝完成了,就可以正常使用opencv2了
- 要對go的一些環境變數進行修改
export CGO_CFLAGS="-I/usr/include/opencv" export CGO_LDFLAGS="-L/usr/lib64 -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videosta -lpthread"
-
如果還是不行按照接下來的配置來配置go的環境變數
CGO_ENABLED=1\ GOOS=linux\ GOARCH=mips64le\ CC=mips-linux-gnu-gcc\ CXX=mips-linux-gnu-g++\ CGO_CFLAGS="-I/usr/include/opencv"\ CGO_LDFLAGS="-L/usr/lib64 -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videosta"\ CGO_LDFLAGS="-static"\
在這裡提一句我們使用的go的opencv庫是go-opencv而不是gocv我們這個庫使用的是opencv2
庫地址 :
-
在這裡我給出一個使用opencv2在龍芯派上使用go影片推流的小例子
package mainimport "C"import ( "fmt" "github.com/go-opencv/go-opencv/opencv" "log" "net/http" _ "net/http/pprof" "unsafe" //"github.com/gwuhaolin/livego" "github.com/hybridgroup/mjpeg")var ( deviceID int err error stream *mjpeg.Stream Cap *opencv.Capture )func main() { // parse args //deviceID := 0 host := ":8554" // open webcam Cap = opencv.NewCameraCapture(0) //Cap = opencv.NewFileCapture("/home/zjh/test.flv") fmt.Println("1") if Cap == nil { panic("can not open camera") return } defer Cap.Release() // create the mjpeg stream stream = mjpeg.NewStream() // start capturing go mjpegCapture() fmt.Println("Capturing. Point your browser to " + host) // start http server http.Handle("/", stream) log.Fatal(http.ListenAndServe(host, nil)) }func mjpegCapture() { for { img := Cap.RetrieveFrame(1) if img != nil { buf := opencv.EncodeImage(".jpg", unsafe.Pointer(img.GetMat()), []int{64}) bufss := buf.GetData() fmt.Println("9") stream.UpdateJPEG(bufss) fmt.Println("10") } else if img == nil { fmt.Println("Image is nil") break } } }
- 要想跑起來這個程式還是不行,因為swig庫支援的版本太低了,我們要去swig的官網,下載原始碼後在龍芯派上進行交叉編譯
-
然後執行
export CGO_LDFLAGS="-g -O2 -lm"go run main.go
即可編譯成功
本文轉自:https://developer.aliyun.com/article/790289?spm=a2c6h.12873581.0.0.6b4c767dbHK00x&groupCode=othertech
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2791802/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 龍芯的go之路(一)-在龍芯中安裝goGo
- 龍芯 3A4000 安裝 Debian stable
- 龍芯+UOS系統下java環境安裝Java
- ARM 和 龍芯上 Arch Linux 安裝手記Linux
- 龍芯 & Golang!Golang
- 龍芯2號系列功能及技術特點(龍芯2F,龍芯2H,龍芯2K1000)
- 龍芯 & Golang!Golang
- 龍芯麒麟原始碼編譯MySQL生成軟體包進行安裝原始碼編譯MySql
- Go macaron (馬卡龍) 庫 (二)GoMac
- 龍芯2號處理器,龍芯2K1000晶片引數晶片
- 安裝 goGo
- 龍芯原始碼編譯MySQL原始碼編譯MySql
- 龍芯(Loongarch64),在Linux虛擬一個龍芯OS體驗下Linux
- go學習--->安裝goGo
- 龍芯(Loongson 3A3000)膝上型電腦作業系統安裝筆記作業系統筆記
- codis安裝 (java 安裝 + zookeeper 安裝 + go 安裝 + codis 安裝JavaGo
- Liunx 安裝 GoGo
- 龍芯釋出新一代伺服器處理器:龍芯3C5000L伺服器
- go安裝playwright-goGo
- go: ubuntu安裝go 1.23.3GoUbuntu
- 龍芯應用技術合作研討會-龍芯和國產Linux謀求共同發展(轉)Linux
- 【Redis破障之路】二:Redis安裝和基本資料結構Redis資料結構
- 龍芯1D處理器datasheet
- 入門龍芯舊世界彙編指令
- 龍芯筆記本: 將投產龍芯筆記本採用Linux系統受質疑(轉)筆記Linux
- 原始碼安裝GO原始碼Go
- go語言安裝Go
- Go 安裝介紹Go
- 安裝go 1.5 & 部署Go
- Mac下go安裝MacGo
- 【GO】MAC安裝和測試GoGoMac
- Go Gin安裝解決國內go get 方式安裝超時Go
- 龍芯3A3000和龍芯3B3000晶片處理器引數比較晶片
- 龍芯開源社群上線.NET主頁
- 龍芯fedora28日常生存指南
- Go初體驗|Mac上安裝GoGoMac
- Go的安裝和使用Go
- Go 安裝與使用 mqttGoMQQT