文章目录
前言
系统环境:ubuntu20.04
本文讨论第8讲的实践部分和普通习题的内容。
一、实践部分
1.optical_flow项目
这个项目需要修改CV_GRAY2BGR为COLOR_GRAY2BGR,反正就是根据它的提示去修改。
2.direct_method项目
这里又报了找不到sophus/se3.hpp的错误,照旧在cmakelist文件里修改最后一行如下:
target_link_libraries(direct_method Sophus::Sophus ${OpenCV_LIBS} ${Pangolin_LIBRARIES})
然后又报了error: ‘CV_GRAY2BGR’ was not declared in this scope的错误
修改为cv::COLOR_GRAY2BGR即可因为这个程序里没有写using namespace cv;所以前面必须加cv::
运行后会迭代四轮,每次出四张照片。
二、第8讲的普通习题
1.其他光流方法的特点
除了LK光流法外还有Horn-Schunck算法;
LK光流法特点:利用计算梯度的方法,适用于稀疏光流,基于灰度不变的假设,即同一个空间点的像素灰度值,在各个图像中是固定不变的。
Horn-Schunck算法特点:利用计算梯度的方法,适用于稠密光流,假设在整个图像上光流的变化是光滑的,即物体运动矢量是平滑的或只是缓慢变化的。计算量也明显较大,时效性较差。
HS算法是在LK算法上提出的,增加了局部平滑,整体解算。
2.求梯度方法上的缺点
根据提示,距离较近时,像素跨度大;距离较远时,像素跨度小;这里没有考虑深度对梯度求解的影响。最好是利用深度这个信息对梯度的求解进行缩放,距离较近时使用跨度大的进行计算。
3.直接法能否提出反向法的概念
可以使用原始图像的梯度代替目标图像的梯度。
5.单目直接法的理解
不能理解,暂时先跳过看后面好了。
总结
本文讨论第8讲的实践部分和普通习题的内容。