泰山派开发板Ubuntu系统下OpenCV完整安装与图像处理实战最近在泰山派开发板上做图像识别的小项目发现很多朋友卡在了OpenCV环境安装这一步。网上的教程要么是针对x86电脑的要么步骤太零散对嵌入式Linux环境不太友好。今天我就结合自己的踩坑经验给大家手把手演示一遍如何在泰山派的Ubuntu系统上从零开始安装OpenCV并完成一个实际的图像处理程序。这篇教程适合刚拿到泰山派想用它做计算机视觉项目的朋友。我会用最直白的方式带你完成Python和C两种OpenCV环境的安装最后再用一个翻转图片的小程序来验证环境是否真正可用。跟着做下来你就能在泰山派上自由地进行图像处理开发了。注意整个安装过程都需要网络请务必确保你的泰山派开发板已经通过有线或无线方式连接到了互联网。1. 安装Python-OpenCV环境Python版本的OpenCV安装起来相对简单因为我们可以直接使用Ubuntu系统自带的包管理工具apt。对于快速验证和原型开发来说Python是非常方便的选择。1.1 更新系统软件源在安装任何新软件之前最好先更新一下本地的软件包列表和已安装的软件。这能确保我们安装的是最新、最兼容的版本。打开泰山派Ubuntu系统的终端输入以下命令sudo apt update sudo apt upgradesudo apt update从配置的软件源服务器下载最新的软件包列表信息。sudo apt upgrade根据更新后的列表升级系统中所有可升级的软件包。执行后可能会提示你确认输入y然后回车即可。这个过程可能需要几分钟取决于网络速度和需要更新的包数量。1.2 安装aptitude工具可选但推荐接下来我们安装一个叫aptitude的工具。它比基础的apt在处理软件包依赖关系时更智能尤其是在遇到依赖冲突时能提供更好的解决方案。sudo apt-get install aptitude1.3 安装Python3的OpenCV包现在我们就可以用aptitude来安装Python版的OpenCV了。Ubuntu的仓库里通常有预编译好的python3-opencv包。sudo aptitude install python3-opencv安装过程中aptitude可能会显示一些依赖关系的解决方案。通常直接按回车接受默认方案即可。这个命令会自动安装OpenCV库以及Python3的绑定cv2模块和所有必要的依赖。1.4 验证Python-OpenCV安装安装完成后怎么知道是否成功了呢我们来写两行Python代码测试一下。在终端中输入python3进入Python交互式环境python3你会看到Python的命令提示符。然后依次输入以下两行代码import cv2 print(cv2.__version__)如果安装成功import cv2不会报错并且print(cv2.__version__)会打印出安装的OpenCV版本号比如 “4.5.4” 之类的。看到版本号就说明Python环境的OpenCV已经妥了输入exit()退出Python环境。2. 安装C开发所需的Libopencv库如果你打算用C来编写性能要求更高的图像处理程序那么还需要安装OpenCV的C开发库和头文件。别担心步骤同样简单。2.1 再次更新软件源确保信息最新虽然我们之前更新过但为了确保安装C库时也能获取到最新的信息可以再执行一次更新这一步很快。sudo apt update sudo apt upgrade2.2 安装OpenCV开发库安装所有以libopencv开头的开发包。这个通配符命令会帮你安装核心库、各种功能模块如imgproc, highgui以及开发所需的头文件。sudo apt-get install libopencv*提示如果上面的命令因为某些包名问题执行不顺利可以尝试另一个更通用的命令sudo apt-get install libopencv-*安装过程会列出将要安装的一系列软件包确认后输入y继续。等待安装完成C开发环境就准备好了。3. 实战编写并运行一个C图像处理程序理论说再多不如动手试一下。我们现在就写一个简单的C程序实现图片的垂直翻转功能以此来彻底验证我们的OpenCV环境。3.1 准备素材和代码首先在你的个人电脑Windows/Mac/Linux均可上找一张JPG格式的图片比如叫test.jpg。同时创建一个名为flip_image.cpp的C源文件。用你喜欢的文本编辑器如VSCode、记事本等打开flip_image.cpp输入以下代码#include opencv2/opencv.hpp #include iostream int main(int argc, char** argv) { // 检查命令行参数是否正确 if(argc ! 3) { std::cout 用法: argv[0] 输入图片路径 输出图片路径 std::endl; return -1; } // 加载图像 cv::Mat img cv::imread(argv[1], cv::IMREAD_COLOR); if(img.empty()) { std::cout 没有找到图片或者打开失败 std::endl; return -1; } // 翻转图像 cv::Mat flipped; // 第三个参数为0表示垂直翻转1表示水平翻转-1表示同时进行水平和垂直翻转 cv::flip(img, flipped, 0); // 保存处理后的图像 bool success cv::imwrite(argv[2], flipped); if(!success) { std::cout 写入图片时出错 std::endl; } else { std::cout 图片翻转并保存成功 std::endl; } return 0; }代码简单讲解程序需要两个命令行参数输入图片路径和输出图片路径。cv::imread用于读取图片。cv::flip是翻转函数参数0代表垂直翻转。cv::imwrite负责把处理后的图片保存到文件。3.2 将文件传输到泰山派代码和测试图片准备好了接下来需要把它们放到泰山派上。你可以使用任何熟悉的文件传输方式U盘拷贝将flip_image.cpp和你的测试图片例如test.jpg拷贝到U盘然后插入泰山派的USB口再复制到板子的某个目录比如/home/你的用户名/下。SCP命令如果网络互通在电脑终端使用scp命令远程传输。共享文件夹Samba。这里假设你把文件都放在了泰山派家目录下的一个文件夹里例如/home/lckfb/。3.3 在泰山派上编译C程序通过SSH或者直接在泰山派的桌面打开终端进入你存放文件的目录。第一步安装G编译器泰山派的Ubuntu系统可能默认没有安装C编译器我们先装上它。sudo apt-get install g第二步编译OpenCV程序使用下面的命令进行编译。注意反引号的作用是执行pkg-config命令并将其输出包含编译和链接选项传递给g。g flip_image.cpp -o flip_image pkg-config --cflags --libs opencv4gC编译器。flip_image.cpp我们的源代码文件。-o flip_image指定生成的可执行文件名为flip_image。pkg-config --cflags --libs opencv4这个命令会自动获取编译和链接OpenCV 4库所需要的所有头文件路径-I和库文件-l参数。这是最省事、最不容易出错的方法。如果编译没有报错当前目录下就会生成一个名为flip_image的可执行文件。3.4 运行程序并查看效果现在用我们编译好的程序来处理图片。假设你的测试图片叫test.jpg希望输出图片叫test_flipped.jpg。在终端中运行./flip_image test.jpg test_flipped.jpg如果看到终端输出“图片翻转并保存成功”就说明程序运行成功了。3.5 验证结果最后检查一下处理效果。你可以在泰山派上直接查看如果泰山派接了显示器用图片查看器打开test_flipped.jpg看看是不是被垂直翻转了。传回电脑查看把生成的test_flipped.jpg文件再传回你的电脑对比原图test.jpg确认翻转效果。当你看到翻转后的图片恭喜你这不仅证明了你写的C程序工作正常更关键的是它完全验证了泰山派上从OpenCV库安装到编译链接的整个C开发环境都是正确无误的。4. 可能遇到的问题与解决方法在实际操作中你可能会遇到一两个小麻烦别急这里都有解。问题安装过程中一直提示网络错误或下载失败。这是最可能遇到的问题通常是因为默认的软件源服务器在国外网络连接不稳定或速度慢。解决方法更换为国内镜像源比如清华源。备份原始源列表文件非常重要以防万一sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup编辑源列表文件sudo nano /etc/apt/sources.list也可以用vim或其他你熟悉的编辑器将文件里的内容通常是http://ports.ubuntu.com之类的网址全部注释掉或替换。具体的替换内容需要根据你的Ubuntu版本如22.04 Jammy和架构arm64来定。最可靠的做法是访问清华镜像站的开源镜像使用帮助页面https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/在这个页面找到对应你系统版本的配置说明复制提供的源地址粘贴到sources.list文件中。保存并退出编辑器在nano中是按CtrlX然后按Y确认再回车。更新软件源缓存sudo apt update完成以上步骤后再重新尝试本文中的安装命令下载速度通常会快很多成功率也大大提升。环境搭好了程序也跑通了接下来你就可以在泰山派上尽情探索OpenCV的世界了比如试试摄像头采集、人脸检测、颜色跟踪等等。嵌入式视觉项目现在就可以从你的泰山派开始了。
泰山派开发板Ubuntu系统下OpenCV完整安装与图像处理实战
泰山派开发板Ubuntu系统下OpenCV完整安装与图像处理实战最近在泰山派开发板上做图像识别的小项目发现很多朋友卡在了OpenCV环境安装这一步。网上的教程要么是针对x86电脑的要么步骤太零散对嵌入式Linux环境不太友好。今天我就结合自己的踩坑经验给大家手把手演示一遍如何在泰山派的Ubuntu系统上从零开始安装OpenCV并完成一个实际的图像处理程序。这篇教程适合刚拿到泰山派想用它做计算机视觉项目的朋友。我会用最直白的方式带你完成Python和C两种OpenCV环境的安装最后再用一个翻转图片的小程序来验证环境是否真正可用。跟着做下来你就能在泰山派上自由地进行图像处理开发了。注意整个安装过程都需要网络请务必确保你的泰山派开发板已经通过有线或无线方式连接到了互联网。1. 安装Python-OpenCV环境Python版本的OpenCV安装起来相对简单因为我们可以直接使用Ubuntu系统自带的包管理工具apt。对于快速验证和原型开发来说Python是非常方便的选择。1.1 更新系统软件源在安装任何新软件之前最好先更新一下本地的软件包列表和已安装的软件。这能确保我们安装的是最新、最兼容的版本。打开泰山派Ubuntu系统的终端输入以下命令sudo apt update sudo apt upgradesudo apt update从配置的软件源服务器下载最新的软件包列表信息。sudo apt upgrade根据更新后的列表升级系统中所有可升级的软件包。执行后可能会提示你确认输入y然后回车即可。这个过程可能需要几分钟取决于网络速度和需要更新的包数量。1.2 安装aptitude工具可选但推荐接下来我们安装一个叫aptitude的工具。它比基础的apt在处理软件包依赖关系时更智能尤其是在遇到依赖冲突时能提供更好的解决方案。sudo apt-get install aptitude1.3 安装Python3的OpenCV包现在我们就可以用aptitude来安装Python版的OpenCV了。Ubuntu的仓库里通常有预编译好的python3-opencv包。sudo aptitude install python3-opencv安装过程中aptitude可能会显示一些依赖关系的解决方案。通常直接按回车接受默认方案即可。这个命令会自动安装OpenCV库以及Python3的绑定cv2模块和所有必要的依赖。1.4 验证Python-OpenCV安装安装完成后怎么知道是否成功了呢我们来写两行Python代码测试一下。在终端中输入python3进入Python交互式环境python3你会看到Python的命令提示符。然后依次输入以下两行代码import cv2 print(cv2.__version__)如果安装成功import cv2不会报错并且print(cv2.__version__)会打印出安装的OpenCV版本号比如 “4.5.4” 之类的。看到版本号就说明Python环境的OpenCV已经妥了输入exit()退出Python环境。2. 安装C开发所需的Libopencv库如果你打算用C来编写性能要求更高的图像处理程序那么还需要安装OpenCV的C开发库和头文件。别担心步骤同样简单。2.1 再次更新软件源确保信息最新虽然我们之前更新过但为了确保安装C库时也能获取到最新的信息可以再执行一次更新这一步很快。sudo apt update sudo apt upgrade2.2 安装OpenCV开发库安装所有以libopencv开头的开发包。这个通配符命令会帮你安装核心库、各种功能模块如imgproc, highgui以及开发所需的头文件。sudo apt-get install libopencv*提示如果上面的命令因为某些包名问题执行不顺利可以尝试另一个更通用的命令sudo apt-get install libopencv-*安装过程会列出将要安装的一系列软件包确认后输入y继续。等待安装完成C开发环境就准备好了。3. 实战编写并运行一个C图像处理程序理论说再多不如动手试一下。我们现在就写一个简单的C程序实现图片的垂直翻转功能以此来彻底验证我们的OpenCV环境。3.1 准备素材和代码首先在你的个人电脑Windows/Mac/Linux均可上找一张JPG格式的图片比如叫test.jpg。同时创建一个名为flip_image.cpp的C源文件。用你喜欢的文本编辑器如VSCode、记事本等打开flip_image.cpp输入以下代码#include opencv2/opencv.hpp #include iostream int main(int argc, char** argv) { // 检查命令行参数是否正确 if(argc ! 3) { std::cout 用法: argv[0] 输入图片路径 输出图片路径 std::endl; return -1; } // 加载图像 cv::Mat img cv::imread(argv[1], cv::IMREAD_COLOR); if(img.empty()) { std::cout 没有找到图片或者打开失败 std::endl; return -1; } // 翻转图像 cv::Mat flipped; // 第三个参数为0表示垂直翻转1表示水平翻转-1表示同时进行水平和垂直翻转 cv::flip(img, flipped, 0); // 保存处理后的图像 bool success cv::imwrite(argv[2], flipped); if(!success) { std::cout 写入图片时出错 std::endl; } else { std::cout 图片翻转并保存成功 std::endl; } return 0; }代码简单讲解程序需要两个命令行参数输入图片路径和输出图片路径。cv::imread用于读取图片。cv::flip是翻转函数参数0代表垂直翻转。cv::imwrite负责把处理后的图片保存到文件。3.2 将文件传输到泰山派代码和测试图片准备好了接下来需要把它们放到泰山派上。你可以使用任何熟悉的文件传输方式U盘拷贝将flip_image.cpp和你的测试图片例如test.jpg拷贝到U盘然后插入泰山派的USB口再复制到板子的某个目录比如/home/你的用户名/下。SCP命令如果网络互通在电脑终端使用scp命令远程传输。共享文件夹Samba。这里假设你把文件都放在了泰山派家目录下的一个文件夹里例如/home/lckfb/。3.3 在泰山派上编译C程序通过SSH或者直接在泰山派的桌面打开终端进入你存放文件的目录。第一步安装G编译器泰山派的Ubuntu系统可能默认没有安装C编译器我们先装上它。sudo apt-get install g第二步编译OpenCV程序使用下面的命令进行编译。注意反引号的作用是执行pkg-config命令并将其输出包含编译和链接选项传递给g。g flip_image.cpp -o flip_image pkg-config --cflags --libs opencv4gC编译器。flip_image.cpp我们的源代码文件。-o flip_image指定生成的可执行文件名为flip_image。pkg-config --cflags --libs opencv4这个命令会自动获取编译和链接OpenCV 4库所需要的所有头文件路径-I和库文件-l参数。这是最省事、最不容易出错的方法。如果编译没有报错当前目录下就会生成一个名为flip_image的可执行文件。3.4 运行程序并查看效果现在用我们编译好的程序来处理图片。假设你的测试图片叫test.jpg希望输出图片叫test_flipped.jpg。在终端中运行./flip_image test.jpg test_flipped.jpg如果看到终端输出“图片翻转并保存成功”就说明程序运行成功了。3.5 验证结果最后检查一下处理效果。你可以在泰山派上直接查看如果泰山派接了显示器用图片查看器打开test_flipped.jpg看看是不是被垂直翻转了。传回电脑查看把生成的test_flipped.jpg文件再传回你的电脑对比原图test.jpg确认翻转效果。当你看到翻转后的图片恭喜你这不仅证明了你写的C程序工作正常更关键的是它完全验证了泰山派上从OpenCV库安装到编译链接的整个C开发环境都是正确无误的。4. 可能遇到的问题与解决方法在实际操作中你可能会遇到一两个小麻烦别急这里都有解。问题安装过程中一直提示网络错误或下载失败。这是最可能遇到的问题通常是因为默认的软件源服务器在国外网络连接不稳定或速度慢。解决方法更换为国内镜像源比如清华源。备份原始源列表文件非常重要以防万一sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup编辑源列表文件sudo nano /etc/apt/sources.list也可以用vim或其他你熟悉的编辑器将文件里的内容通常是http://ports.ubuntu.com之类的网址全部注释掉或替换。具体的替换内容需要根据你的Ubuntu版本如22.04 Jammy和架构arm64来定。最可靠的做法是访问清华镜像站的开源镜像使用帮助页面https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/在这个页面找到对应你系统版本的配置说明复制提供的源地址粘贴到sources.list文件中。保存并退出编辑器在nano中是按CtrlX然后按Y确认再回车。更新软件源缓存sudo apt update完成以上步骤后再重新尝试本文中的安装命令下载速度通常会快很多成功率也大大提升。环境搭好了程序也跑通了接下来你就可以在泰山派上尽情探索OpenCV的世界了比如试试摄像头采集、人脸检测、颜色跟踪等等。嵌入式视觉项目现在就可以从你的泰山派开始了。