龙芯go之路(二)-安装opencv-go

简介: 我们在龙心派上安装go版本的opencv

龙芯派安装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

库地址 :https://github.com/go-opencv/go-opencv
  • 在这里我给出一个使用opencv2在龙芯派上使用go视频推流的小例子

    package main
    
    import "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

    即可编译成功

相关文章
|
28天前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
2473 3
|
2天前
|
SQL 关系型数据库 MySQL
go语言中安装数据库驱动
【11月更文挑战第1天】
15 5
|
27天前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
110 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
27天前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
67 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
28天前
|
PyTorch TensorFlow 算法框架/工具
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
本文提供了在Ubuntu 18.04操作系统的NVIDIA Jetson平台上安装深度学习和计算机视觉相关库的详细步骤,包括PyTorch、OpenCV、ONNX、TensorFlow等。
33 1
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
|
5月前
|
Go
go-micro 安装
go-micro 安装
39 3
|
1月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
3月前
|
Ubuntu Go 开发工具
Unbuntu 一键安装制定版本的Go环境
该文章提供了在Ubuntu系统上一键安装指定版本的Go语言环境的详细步骤,包括删除旧版本Go、下载并解压新版本Go到指定目录、配置Go环境变量,以及安装其他必要的开发工具。
58 2
yolov5项目如何安装pycocotools和opencv-python?
本文提供了解决yolov5项目中安装pycocotools和opencv-python包失败的两种方法:手动安装或使用国内镜像源进行安装。
yolov5项目如何安装pycocotools和opencv-python?
|
3月前
|
前端开发 计算机视觉
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
Building wheel for opencv-python (pyproject.toml) ,安装命令增加 --verbose 参数
175 2