ubuntu20.04安装VITIS_HLS2021.2配置OPENCV4.4和VITIS_LIBRARIES(详细版)

一、引言

大家好,今天给研友们配置一下这个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、详细安装视频

猜你喜欢

转载自blog.csdn.net/weixin_56566649/article/details/125620148