图像拼接相关

进行透视变换(将两幅图像平面化拼接)

 
void warpPerspective(InputArray src, 
OutputArray dst, 
InputArray M, 
Size dsize, 
int flags=INTER_LINEAR, 
int borderMode=BORDER_CONSTANT, 
const Scalar& borderValue=Scalar()

  

  • src–输入图像。
  • dst–输出图像,其大小与src大小相同。
  • M–3\times 3单应矩阵。
  • 尺寸-输出图像的大小。
  • 标志-插值方法(INTER_LINEARINTER_NEAREST)和可选标志WARP_INVERSE_MAP的组合,将M设置为反向转换()。 \texttt{dst}\rightarrow\texttt{src}
  • 边框模式-像素推断方法(BORDER_CONSTANTBORDER_REPLICATE)。
  • 边框价值–用于恒定边界的情况下的价值;默认情况下,它等于0。

使用cv::stitcher生成全景图

  读取输入图像

  创建拼接器   ::createdefault

  拼接图像   .stitch

 

输入原始图像和变换之后的图像的对应4个点,便可以得到变换矩阵。之后用求解得到的矩阵输入perspectiveTransform便可以对一组点进行变换

void perspectiveTransform(InputArray src, OutputArray dst, InputArray m)

The function perspectiveTransform transforms every element of src by treating it as a 2D or 3D vector

posted @ 2021-05-13 15:41  KAVEI  阅读(64)  评论(0编辑  收藏  举报