一、引言
大家好,今天给研友们配置一下这个VITIS_HLS,因这其中经历太多的坎坷,为让大家原理配置环境的烦扰,本人出个详细版,望大家喜欢
二、VITIS的安装
我之前的博客已经出过vitis的安装,在此不在赘述,直接给出我博客的链接,请大家不要使用里面的opencv的安装,我在第三节会讲解opencv的安装(这个巨大的坑)
VITIS安装的详细教程
三、opencv的安装
step 1:原理(吐槽大会)
在此想吐槽几句,因为这个opencv的安装真的是困扰了我几天,头疼欲裂,反复的删除安装,搞得我头很大,不过终于在今天解决了,吐槽一下我遇到的问题:
/usr/local/lib/libopencv_core.so: undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()@GLIBCXX_3.4.26'
collect2: error: ld returned 1 exit status
这是我遇到的问题,大家如果不按照我的opencv安装教程来安装的话,大概率会遇到这个问题,而且我可以比较嚣张的说,大家一般解决不了这个问题,网上各种解决方案,就是解决不了,不装了,我来说下原因。
咱们安装opencv的时候正常是用ubuntu自带的g++(9.4)编译器来编译的,然后咱们opencv要和HLS结合起来,然而HLS自带的g++编译器是6.20好像,这样问题就来了,两个采用不同版本的编译器编译的东西,怎么可能搭建在一起呢。不装了,下面进入正题。
step 2:opencv4.4.0的下载与安装
1、下载opencv4.4.0和contrib版
在此直接给出下载链接,方便你我他==>>oepcv4.4包
注:一定是opencv4.4,不要乱下载其他版本,因为这个版本是经过xilinx全线测试的。
2、解压并安装依赖
将下载好的压缩包提取到主目录,并新建一个文件夹(opencv),将解压后的文件放入这个文件夹,如图所示:
打开后如图所示,一个是opencv4.4,一个是opencv4.4_contrib,为了方便我将其改名为图片里的样子。
下面安装依赖,打开一个终端,输入以下指令:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libopenexr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install python-dev-is-python3 python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-22-dev
3、安装opencv
安装完成后,进入opencv/opencv这个文件夹,创建一个build文件夹:
cd opencv/opencv
mkdir build
cd build
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LIBRARY_PATH
然后运行以下命令:(将目录替换为您自己的设置)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=<choose your own output directory> -D WITH_V4L=ON -D OPENCV_EXTRA_MODULES_PATH=<point to opencv_contrib>/modules -DBUILD_TESTS=OFF -DBUILD_ZLIB=ON -DBUILD_JPEG=ON -DWITH_JPEG=ON -DWITH_PNG=ON -DBUILD_EXAMPLES=OFF -DINSTALL_C_EXAMPLES=OFF -DINSTALL_PYTHON_EXAMPLES=OFF -DWITH_OPENEXR=OFF -DBUILD_OPENEXR=OFF -D CMAKE_CXX_COMPILER=<path to Vitis_HLS>/Vitis_HLS/2021.2/tps/lnx64/gcc-6.2.0/bin/g++ ..
注:这个里面有
**<choose your own output directory>这种,请替换成自己的路径,下面给出我自己的路径,仅供参考**
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D WITH_V4L=ON -D OPENCV_EXTRA_MODULES_PATH=/home/wind/opencv/opencv_contrib/modules -DBUILD_TESTS=OFF -DBUILD_ZLIB=ON -DBUILD_JPEG=ON -DWITH_JPEG=ON -DWITH_PNG=ON -DBUILD_EXAMPLES=OFF -DINSTALL_C_EXAMPLES=OFF -DINSTALL_PYTHON_EXAMPLES=OFF -DWITH_OPENEXR=OFF -DBUILD_OPENEXR=OFF -D CMAKE_CXX_COMPILER=/tools/Xilinx/Vitis_HLS/2021.2/tps/lnx64/gcc-6.2.0/bin/g++ ..
然后继续输入:(我是16核,所以是j16)
make -j16
注:在这里可能会出问题,说什么缺少什么boost文件,这些文件我上面已经给出,请大家将其全选复制到opencv_contrib/modules/xfeatures2d/src/此目录下,如图所示:
然后在命令行里输入:
make clean
make -j16
sudo make install
到此opencv安装已经完成,参考文章链接在此给出:vitis库编译
四、VITIS_HLS与VITIS_LIBRARIES的配置
step 1:VITIS_LIBRARIES的下载
在此直接给出下载链接,方便你我他===>>>>VITIS_LIBRARIES
大家下载好后,将其解压到主目录,备用。
step 2:VITIS_HLS配置opencv与VITIS_LIBRARIES
打开VITIS_HLS,创建新工程,如图所示
1、打开vitis_hls
2、 创建新工程
3、创建完成后,在source和testbench里面添加cpp文件,并且在testbench里添加一张图片
4、ceshi.cpp的内容如上图所示,下图为main.cpp的内容
5、打开project->project settings,点击simulation
6、点击main.cpp后,点击 Edit CFLAGS
7、输入以下内容:
-I<path-to-L1-include-directory> -std=c++0x -I<path-to-opencv-include-folder>
注:将其中的文件路径改成自己的路径,一个是vitis_libraries里面的L1的include路径,一个是opencv的include的路径,在此给出我自己的路径,仅供参考:
-I/home/wind/Vitis_Libraries-2021.2/vision/L1/include -std=c++0x -I/usr/local/opencv/include
8、在下方的Linker Flags 里面输入以下内容:
-L<path-to-opencv-lib-folder> -lopencv_core -lopencv_imgcodecs -lopencv_imgproc
注:将其中的文件路径改成自己的路径,该路径为opencv的库路径,在此给出我自己的路径,仅供参考:
-L/usr/local/opencv/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc
9、点击synthesis,点击ceshi.cpp,选择top function,选择ceshi
10、再次点击ceshi.cpp,点击Edit CFLAGS,输入以下内容:
-I<path-to-L1-include-directory> -std=c++0x
在此给出我的路径,仅供参考 :
-I/home/wind/Vitis_Libraries-2021.2/vision/L1/include -std=c++0x
11、所有配置完成后,点击ok
到此,配置已经全部完成,下面进入测试环节!
step 3: 测试(彩图转灰图)
1、打开main.cpp,打入以下内容:并且保存(crtl + s)
2、点击 run c simulation
3、出现下图:
4、仿真成功,图片保存在,这个工程文件下,soultion1->csim->build,如图
到此结束,配置完成!
五、参考文献
1、vitis_libraries
2、opencv库编译
3、详细安装视频
版权归原作者 9527风先生 所有, 如有侵权,请联系我们删除。