如何缩放图像?
列舉 3 種用到圖像縮放的情形:
情形 1:播放窗口與原始圖像分辨率不匹配的時候需要縮放。這和我剛才舉的例子是一樣的情況。
情形 2:我們在線觀看視頻時會有多種分辨率可以選擇,即需要在一個圖像分辨率的基礎上縮放出多種不同尺寸的圖像出來做編碼,并保存多個不同分辨率的視頻文件。
情形 3:RTC 場景,有的時候我們需要根據網絡狀況實時調節視頻通話的分辨率。這個也是需要縮放算法來完成的。
所以,我們可以看到圖像的縮放算法是一個很常用的技術,且它是非常重要的。并且,由于圖像的縮放會嚴重影響我們視覺的主觀感受,所以圖像縮放算法的選擇也是非常重要的。目前圖像的縮放算法非常多,其中主要包括最常用的插值算法和目前比較火的 AI 超分算法。
由于目前絕大多數圖像的縮放還是通過插值算法來實現的,所以我們今天主要來聊聊插值算法。插值算法有很多種,但是其基本原理都是差不多的。它們都是使用周圍已有的像素值通過一定的加權運算得到“插值像素值”。插值算法主要包括:最近鄰插值算法(Nearest)、雙線性插值算法(Bilinear)、雙三次插值算法(BiCubic)等。那么在一一講解這些插值算法之前,我們不妨先來聊聊縮放算法的基本原理。
縮放的基本原理
前面我們講過,圖像的縮放就是將原圖像的已有像素經過加權運算得到目標圖像的目標像素。
什么意思呢?比如說,我們已有圖像是 720P 的分辨率,稱之為原圖像,我們需要放大到1080P,我們稱這個 1080P 圖像是目標圖像。目標圖像在寬度方向上放大了 1920 / 1280 = 1.5 倍,高度方向上也放大了 1080 / 720 = 1.5 倍。
那怎么
總結
- 上一篇: 秋季 工程伦理 网络课程 第一章
- 下一篇: 使用Android studio开发一个