GAMES101 课程环境搭建(Win10+Clion)及作业0说明

举报
lutianfei 发表于 2022/04/30 22:03:15 2022/04/30
【摘要】 0. 参考资料:Windows10下配置VSCode、Mingw、Cmake、Eigen、OpenCV环境(为GAMES101作业构筑Win环境)games101【作业0】环境配置——windows环境配置 1. 基础软件依赖关于gcc与cmake的安装参考之前博文https://bbs.huaweicloud.com/blogs/336631https://bbs.huaweicloud...

0. 参考资料:

Windows10下配置VSCode、Mingw、Cmake、Eigen、OpenCV环境(为GAMES101作业构筑Win环境)

games101【作业0】环境配置——windows环境配置

1. 基础软件依赖

关于gcc与cmake的安装参考之前博文

https://bbs.huaweicloud.com/blogs/336631
https://bbs.huaweicloud.com/blogs/344843

注意:

  1. cmake安装的时候选择Add CMake to the system PATH for all users,加入系统环境变量的路径,保证可以在命令行使用
  2. 命令行输入cmake --help,验证是否安装成功
  3. mingw要选择posix版本的Mingw下载,否则编译opencv时会出错
  4. mingw安装时解压到任意地方,并且把bin的路径添加到系统环境变量PATH中,完成后在命令行输入g++ -v,验证是否安装成功

2. 第三方库的编译和安装

2.1 Eigen(线性代数运算库)

下载地址:Eigen

安装说明:

  1. 注意版本要与opencv之间关联,这里选择3.4.0 版本安装
  2. 在eigen的根目录下新建一个build目录
  3. 打开cmake软件,source目录设置成eigen的根目录,build目录设置成刚刚新建的目录,然后点击configure,出来的makefile的格式选择mingw,等待config结束后点击generate

image.png

  1. 理员权限运行cmd,进入build目录,运行mingw32-make,之后运行mingw32-make install

注:此时就可以删除解压出来的eigen目录(因为上面安装的已经安装到了c盘Program File x86里了,有时候build的时候会找错路径)

2.2 OpenCV库编译

下载地址opencv-win

  1. 解压到任意目录,opencv/source/目录下新建一个build目录

  2. 打开cmake软件,source目录设置成opencv/source/目录,build目录设置成刚刚新建的build目录,然后点击configure,出来的makefile的格式选择mingw,等待config结束

  3. 找到OPENCV_ENABLE_ALLOCATOR_STATS,不勾选后面的对勾(不这样会编译错误), 再次点击configure,之后点击generate

  4. 管理员权限运行cmd,进入build目录,运行mingw32-make(这个很慢),之后运行mingw32-make install

  5. 设置opencv的环境变量,管理员权限运行cmd, 执行 setx -m OpenCV_DIR path_to_build/lib/(本质就是增加环境变量OPENCV_DIR),然后把path_to_build/bin添加到path系统环境变量里

以上用到工具及软件的版本信息如下:

  • gcc: x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
  • cmake: cmake-3.23.0-windows-x86_64.msi
  • eigen: eigen-3.4.0.zip
  • opencv: opencv-4.5.5-vc14_vc15.exe

3. CMakeLists文件适配

由于上文已经在环境变量中设置了EIGEN3_INCLUDE_DIR变量。因此一下配置文件中要增加环境变量前缀$ENV{}

cmake_minimum_required (VERSION 2.8.11)
project (Transformation)

find_package(Eigen3 REQUIRED)
include_directories($ENV{EIGEN3_INCLUDE_DIR})

add_executable (Transformation main.cpp)

4. 关于作业0的说明

本次作业要点:

  1. 环境搭建与使用
  2. Eigen线代库的使用说明

Eigen的入门材料:
https://blog.csdn.net/hongge_smile/article/details/107296658

作业情况说明:
目标实现向量旋转

/* 
* Task 0
* 给定一个点 P=(2,1), 将该点绕原点先逆时针旋转 45◦,再平移 (1,2), 计算出
* 变换后点的坐标(要求用齐次坐标进行计算)。
*/
// TODO: Define point P
Eigen::Vector3d P(2.0f, 1.0f, 1.0f);
// TODO: Define rotation matrix and transposion matrix
Eigen::Matrix3d R;
Eigen::Matrix3d T;

double theta = 45.0 / 180.0 * M_PI;
R << cos(theta), -1.0 * sin(theta), 0,
        sin(theta), sin(theta), 0,
        0, 0, 1;

T <<    1, 0, 1,
        0, 1, 2,
        0, 0, 1;

// TODO: T * R * P
Eigen::Vector3d Res;
Res = T* R * P;
std::cout << Res << std::endl;
return 0;

//result:
1.70711
4.12132
1
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。