【OpenCV3】双线性插值
最近找工作,遇到與圖像處理、圖像算法等相關崗位的面試中曾被問到雙線性插值的問題,雖然平時看過,但一時卻很難想起來。現結合OpenCV對雙線性插值問題做一個簡要的總結。雙線性插值主要用于圖像的縮放中。
一、雙線性插值原理:
已知單位正方形的頂點坐標分別為f(0,0), f(1,0), f(0,1), f(1,1).
a)?先對上端的兩個點進行線性插值得到:?f(x,0) = f(0,0) +?x[f(1,0) - f(0,0)]?;
b)?再對下端的兩個點進行線性插值得到:?f(x,1) = f(0,1) +?x[f(1,1) - f(0,1)]?;
c)?最后對垂直方向進行線性插值得到:?f(x,y) = f(x,0) +?y[f(x,1) - f(x,0)]?.
綜上,f(x,y) = [f(1,0) - f(0,0)]?x + [f(0,1) - f(0,0)]?y +[f(1,1) + f(0,0) - f(0,1) - f(1,0)]xy + f(0,0)?.
二、雙線性插值OpenCV實現:
在OpenCV中,雙線性插值通過cv::resize函數來實現的。
cv::resize的具體用法如下:
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation = INTER_LINEAR )。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【OpenCV3】双线性插值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2015 编译输出的*.lib,*.
- 下一篇: 【OpenCV3】OpenCV3.0 在