上位机图像处理和嵌入式模块部署(树莓派4b安装opencv)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

树莓派4b上面安装的镜像应该是debian系统,本身是可以用apt-get进行软件下载的。这一点对于我们来说就非常的方便。因为,如果可以从官方的软件源下载软件,这样就不需要我们自己进行第三方编译了。毕竟第三方编译是一个吃力不讨好的事情,中间软件的依赖、编译器的选择、linux版本的选择等等,大部分的工作都是非常琐碎且没有意义的。所以,这部分我们打算直接用apt-get下载opencv进行处理使用。

1、将树莓派4b网线连到路由器当中

前面我们已经把树莓派4b配置成ip为192.168.0.97的设备,并且后面需要通过外网下载opencv,所以这个时候就需要一根网线把它连接到路由器上面。

2、安装mobaxterm软件

mobaxterm是非常好用的上位机通讯软件,本身支持serial、telnet、ssh等十几种协议。不仅如此,它还支持文件拖放、编译和图片的远程显示,这一点对我们来说十分方便。

3、安装opencv

我们安装的opencv主要是为c/c++语言准备的,所以直接输入下面这行命令即可,

复制代码
sudo apt-get install libopencv-dev

4、准备测试文件process.cpp

既然opencv已经在树莓派4b安装好了,下面就可以准备测试文件了。这里测试的代码比较简单,直接通过chatgpt去准备就可以了,

复制代码
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main() {
    // 读取图片
    Mat image = imread("input.jpg", IMREAD_COLOR);
    
    if(image.empty()) {
        cout << "无法加载图像." << endl;
        return -1;
    }

    // 将图像转换为灰度图像
    Mat gray_image;
    cvtColor(image, gray_image, COLOR_BGR2GRAY);

    // 显示原始图像和灰度图像
    imshow("Original Image", image);
    imshow("Gray Image", gray_image);
    
    waitKey(0);
    return 0;
}

5、编译

编译的话,首先通过mobaxterm和配置ssh登录到树莓派4b。用vi把上面的代码copy到process.cpp。接下来就可以用g++进行编译了。编译的命令如下,

复制代码
g++ process.cpp -o process -I /usr/include/opencv4/ -L /usr/lib/ -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_imgproc

本身镜像已经自带了g++编译工具,所以如果编译没有什么问题的话,就可以生成process文件了。

6、准备测试图片

需要的图片可以直接从这个github地址获取,重命名为input.jpg就可以了,

复制代码
https://github.com/mikolalysenko/lena/blob/master/lena.png

7、执行process文件

最后一步就是执行process可执行文件了。代码中有imshow的操作,这一点mobaxterm可以帮助我们完成,也就是说处理后的效果是可以通过mobaxterm的窗口看出来的。相关处理结果可以自动通过弹出显示出来,这一点不需要我们担心。

如果我们看到上面的弹窗,那么支持就可以认为opencv已经成功地在树莓派4b上面运行起来了。这也是目前为止最重要的工作,剩下来的事情就是怎么把这个流程给它丰富和完成好了。

相关推荐
MobotStone38 分钟前
从“听得懂”到“干得了”:工业大模型落地工厂的三层进化路线
人工智能
wangruofeng1 小时前
GLM-5.3-Flash 发布:追平 Opus 4.8 的智力,1/40 的价格,跑在国产芯片上
人工智能·aigc·chatglm (智谱)
皮皮虾❀3 小时前
钉钉AI服务商×教育行业:AI现代产业学院共建一体化实战——从“高校AI教学缺平台”到“校企共建AI产业学院培养数字化人才
人工智能·钉钉
火山引擎开发者社区4 小时前
【议程来了】火山引擎开发者社区技术日・NVIDIA 独家赞助-成都站
人工智能
三声三视4 小时前
从崩溃日志到 AI 技能:tri-god 蒸馏实战
人工智能·ai·aigc·agent
ZGIAI4 小时前
ZGI Workflow 并发控制:保护下游接口
人工智能·架构
richard_first4 小时前
Transformer 与大语言模型:第9章 LayerNorm 归一化层
人工智能·深度学习·机器学习·transformer
ZGIAI4 小时前
知识库有结果,不等于召回率合格
人工智能·架构
东小西4 小时前
【SAA实战】第 1 篇:ReactAgent 入门——先撸个"会调工具的助手"跑起来
java·人工智能·spring
兴通物联科技4 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉