Windows上快速部署Vitis HLS OpenCV仿真库

本文详细介绍如何在VitisHLS平台上从零开始搭建OpenCV环境,包括安装所需软件、设置环境变量、编译OpenCV库等关键步骤。

Vitis HLS 图像处理平台搭建

在 2019.2 以上的版本中AMD-Xilinx去除了对 OpenCV 的库函数的直接支持,需要我们手动搭建一个OpenCV的环境(主要是仿真环境),这一步虽然对综合不影响,但是对于算法的功能验证还是不方便,所以这一步对于使用OpenCV进行图像处理还是很重要的一步。

今天这一步主要分成几部:

  • 第一步,安装所需要的文件(开源)

  • 第二步,设置好环境变量

  • 第三步,本地编译 OpenCV 库

安装所需要的文件

今天的第一步就是安装文件,这里的文件都是开源软件,所以大家放心安装。

这里特别注意一点,希望大家按照提供的软件版本安装,否则最后编译OpenCV库时候可能出现未知的问题(有能力者请忽略!)。

这里特别注意二点,安装路径一定不要有中文路径或者空格。

cmake

下载网址:

https://cmake.org/download/

版本

cmake-3.23.2-windows-x86_64

924a5c886cf030ae479ceb1daab5d4b8.png

正常安装即可,尽量不要更改安装路径。

opencv 3.4.12

下载网址

https://opencv.org/releases/

版本

opencv-4.5.5-vc14_vc15

5756cb425bc46bc14b67871ea12b4500.png

正常安装,解压路径放到非中文路径

1721d93f3b8530c31f2688757e7ba29e.png

上面的路径一定要放在一个常用而且不移动的位置,后续仿真时候会经常使用这个位置。

mingw-w64

下载网址:

https://sourceforge.net/projects/mingw-w64/files/

版本:

mingw-17.1-without-git

同样放到一个不移动的位置。

添加环境变量

在用户变量 Path中添加下面的位置,位置是上面mingw-w64的解压位置。

示例:

E:\vitis_hls_image\mingw\MinGW\bin

867f3389b982793320fb2b75be32a1f6.png

在 CMD 中输入:

set PATH=C

然后关闭CMD。

再在CMD输入

echo %PATH%

检查是否设置成功

bdd18b89c2cfd55c92371e1af198a3ee.png

再次输入

gcc -v
215be33c93b5aa607b6e152bfe5e1c27.png

本地编译 OpenCV 库

最重要的一步来了,也是最容易出问题的步骤,我会在这详细写清楚步骤,同时我会录个简单的视频,相关的软件会放到视频评论区(链接失效可以随时补充)。

Cmake 编译 OpenCV

打开 Cmake。

点击 Browse Source, 将之前安装OpenCV程序解压出来的文件夹下的 source 文件夹目录添加进来。

9d0371ac5944b345b29a87d6d6231644.png

之前安装OpenCV程序解压出来的文件夹下新建一个build_2文件夹:

810f2d3adf0530b71bcbc1af7155554a.png

点击 Browse Build, 将建好的 build_2 文件夹添加进来:

62025d26308229fe71703d22bd25b6e8.png

点击 Configure , 此时会弹窗如下,(注:这个弹窗有时会在第二次 Configure 时弹出,不过配置都一样)。按照下图进行配置:

488181c75bdf375379e6dd9eed8d54b2.png

然后点击 NEXT, 分别选择 C 和 C++的编译器路径,在安装目录/MinGW/bin/gcc.exe 与安装目录/MinGW/bin/g++.exe,选择完成后点击 Finish。

69137fbcb2d779a30dc36dce2fb1a290.png

等待 Configure 完成后, 进行选项的调整, 注意以下几个:

  • 勾选 WITH_OPENGL

  • 勾选 ENABLE_CXX11

  • 不勾选 WITH_IPP

  • 不勾选 ENABLE_PRECOMPILED_HEADERS

  • 不勾选 OPENCV_ENABLE_ALLOCATOR_STATS

再次点击 Configure,如果会弹窗配置选择 MinGW 的窗口请按照第三步进行配置(一般不会有)。

等待 Configure 完成。。。

fc56a40e0a5381a0a59c521ef3da6777.png

Configure 完成后, 点击 Generate, 进行库的生成。看到 Configuring done、 Generating done 则表示成功。

56b42f244a175545961f32f75283ef42.png

编辑生成工程

打开电脑的CMD,进入刚刚配置好的build_2文件夹,进入后输入一下命令:

mingw32-make –j 16

这个过程编译时间有点久,机器不同时间也不一样。这里-j 8 意思是开启 8 核运行,这个值取决你电脑的 CPU 物理核心数, 可以不加该选项的(如果中间出现停顿,可以点击 Enter 键, 继续编译)

cccf2e6160e50e7ac4601d023c1a8785.png

编译完成后输入以下命令进行安装:

mingw32-make install
7fe35e36fd825ccf189c5c84d69684b0.png

如果看到下图,那么恭喜你,今天的主要工作就完成了。

f2864f355d8094ec8534752e9039970d.png

设置环境变量

新建三个用户变量

  • LD_LIBRARY_PATH 变量值:E:\vitis_hls_image\opencv_lib\opencv\build_2\install\x64\mingw\lib

  • OPENCV_INCLUDE 变量值:E:\vitis_hls_image\opencv_lib\opencv\build_2\install\include

  • OPENCV_LIB 变量值:E:\vitis_hls_image\opencv_lib\opencv\build_2\install\x64\mingw\lib

注意:用户环境的正确动态库的路径需要根据自己的实际情况进行更改路径,上面的路径是不适用于每一个人的。

path 下新增两条路径

  • E:\vitis_hls_image\opencv_lib\opencv\build_2\install\x64\mingw\bin

  • E:\vitis_hls_image\opencv_lib\opencv\build_2\install\x64\mingw\lib

至此,用户环境变量设置完成。

至此今天所有的工作都完成了,接下来就是我们愉快地玩耍了~

软件及编译好的文件见下面视频置顶评论:

B站搜索:BV1324y117QH 也可。

<think>好的,我需要帮用户解决在Vitis HLS中配置并导入OpenCV库的问题。首先,我得回忆一下之前提供的引用内容,里面提到了从2019.2版本开始,AMD-Xilinx移除了对OpenCV的直接支持,所以用户需要手动搭建环境。引用1、2、3提到了需要下载OpenCV 3.4.5、MinGW,以及配置编译选项的路径和参数。 首先,步骤应该包括安装必要的软件,比如MinGW和CMake,然后下载OpenCV的源码。接下来是使用CMake配置OpenCV,这里可能需要指定生成器为MinGW,并设置安装路径,比如用户提到的D:/opencv/opencv_hls这样的目录。然后编译安装,这可能需要执行mingw32-make命令。 接下来是配置Vitis HLS项目,添加包含路径和库路径。引用2中提到了包含路径是D:/opencv/opencv_hls/build_cmake/install/include,还有链接库的路径可能需要指向lib目录。此外,编译选项需要加上-std=c++0x,可能还要链接特定的库文件,比如libopencv_core.a等。 在编写测试代码时,用户需要包含正确的头文件,比如opencv2/core.hpp,并使用命名空间cv。测试函数可能包括读取图像、处理图像等步骤,但需要注意Vitis HLS支持的OpenCV函数可能有限,综合时可能需要替换部分代码。 最后,验证和注意事项部分需要提醒用户仿真和综合的区别,以及函数替换的必要性。可能还需要指导如何通过测试结果确认配置是否成功。 现在需要检查是否有遗漏的步骤,比如环境变量是否要设置,或者是否有其他依赖项。另外,用户可能需要知道如何确认编译是否成功,比如检查生成的文件或者运行测试案例是否报错。还要注意路径中的斜杠是否正确,避免Windows和Linux格式混淆。 可能的问题点在于用户是否正确安装了MinGW和CMake,以及编译OpenCV时是否有错误。这时候需要确保步骤详细,比如CMake配置时的参数是否正确,编译命令是否在正确的目录下执行。另外,Vitis HLS项目中的设置是否包含正确的包含路径和库路径,链接库的名称是否正确,比如不同的OpenCV模块对应的库文件。 总结下来,回答的结构应该是分步骤指导安装、配置、编译、项目设置、测试代码,然后注意事项和相关问题。需要确保每个步骤清晰,用户能一步步跟随操作,同时引用提供的参考资料来支持步骤的正确性。</think>### 在 Vitis HLS 中配置并导入 OpenCV 库的步骤 #### 1. **环境准备** - **安装 MinGW 和 CMake** 从 [MinGW-w64](https://sourceforge.net/projects/mingw-w64/files/) 下载并安装 MinGW(选择 `x86_64-posix-seh` 版本),确保将 `mingw64\bin` 添加到系统环境变量[^3]。 下载 [CMake](https://cmake.org/download/) 并安装。 - **下载 OpenCV 源码** 从 [OpenCV 官网](https://opencv.org/releases/) 下载 OpenCV 3.4.5 的 Release 版本并解压[^3]。 #### 2. **编译 OpenCV 库** - **配置 CMake** 打开 CMake GUI,设置源码路径(例如 `D:/opencv-3.4.5`),构建路径(例如 `D:/opencv_hls/build_cmake`)。 点击 **Configure**,选择生成器为 **MinGW Makefiles**,勾选 **Specify native compilers**,设置 C/C++ 编译器路径为 MinGW 的 `gcc.exe` 和 `g++.exe`。 配置以下参数: ``` CMAKE_INSTALL_PREFIX = D:/opencv_hls/build_cmake/install WITH_OPENCL = OFF BUILD_EXAMPLES = OFF BUILD_TESTS = OFF ``` 点击 **Generate** 生成 Makefile[^3]。 - **编译并安装** 在命令行中进入构建目录(`D:/opencv_hls/build_cmake`),执行以下命令: ```bash mingw32-make -j4 # 使用多线程加速编译 mingw32-make install ``` 编译完成后,安装目录(`install`)下会生成 `include` 和 `lib` 文件夹。 #### 3. **配置 Vitis HLS 项目** - **添加头文件路径** 在 Vitis HLS 的工程设置中,添加 OpenCV 头文件路径: ``` -ID:/opencv_hls/build_cmake/install/include ``` 并在编译选项中添加 `-std=c++0x` 以支持 C++11 特性[^2]。 - **链接静态库** 在链接库设置中添加以下路径和库文件: ``` -LD:/opencv_hls/build_cmake/install/lib -lopencv_core345 -lopencv_imgcodecs345 -lopencv_highgui345 ``` 具体库名根据 OpenCV 版本可能略有不同(例如 `345` 对应版本 3.4.5)。 #### 4. **编写测试代码** ```cpp #include <opencv2/core.hpp> #include <opencv2/imgcodecs.hpp> using namespace cv; void image_process(Mat &img) { // 图像处理逻辑(需符合 HLS 可综合语法) } int main() { Mat img = imread("input.jpg"); image_process(img); imwrite("output.jpg", img); return 0; } ``` #### 5. **验证与综合** - **仿真验证** 运行 C Simulation 检查功能是否正确。若出现链接错误,需确认库路径和名称是否匹配。 - **综合注意事项** OpenCV 的 `imread`、`imwrite` 等函数仅适用于仿真,无法综合为硬件电路。实际部署时需替换为 HLS 支持的图像接口(如 `hls::Mat`)[^1]。 #### 注意事项 - OpenCV 函数在 Vitis HLS 中仅用于仿真验证,综合时需用硬件友好的代码替换。 - 若需更高版本 OpenCV,需自行验证兼容性。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenFPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值