几何变换包括平移,缩放,斜切,旋转等。本系列文章仅讲缩放与旋转。

缩放,在OpenCV中讲了三种算法,最近邻插值法,双线性插值法和双三次样条插值法。

近邻插值是采用最近像素填充,效率高,但效果差。双三次样条插值法虽然效果好,但是计算量却非常大,所以一般在绝对大多数情况下都是采用双线性插值。关于双线性插值的数学描述我就不讲,网上有海量的内容。我按我自己理解的方式来讲。简单点的说,双插法非整数倍时,取两个近邻整数的按系数乘以相应的比例。举个例子:如果是3.14系数倍时,则取第3和4行(列)的像素值,将第3行(列)乘以0.14倍加上第四行列乘以0.86倍的值来插值填充入相应的行列。之所以叫双线性是基于行和列同时运算的结果。近邻插值则比较简单,比如3.14倍时,插入的像素则直接取第3行(列)像素进行插入填充。关于数学方法可以参考这篇网文:https://www.cnblogs.com/yangai/p/6063927.html

原图:

 

​第十二篇 图像的几何变换之缩放

 

双插法的图,非等比例插值效果和原图基本没有颜色值上的失真。

 

​第十二篇 图像的几何变换之缩放

核心代码如下:

 

​第十二篇 图像的几何变换之缩放

本算法采用了优化方法,可以直接在嵌入式平台运行。另外,最后的switch不加break,是为了兼容各个通道。

源代码: https://download.csdn.net/download/finger157959/12528142

​第十二篇 图像的几何变换之缩放

相关文章:

  • 2021-11-24
  • 2021-11-27
  • 2022-01-06
  • 2021-11-22
猜你喜欢
  • 2022-12-23
  • 2022-01-07
  • 2021-08-28
  • 2021-07-12
  • 2021-11-06
相关资源
相似解决方案