• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            ffmpeg中的sws_scale算法性能測試

            轉載自:http://www.cnblogs.com/acloud/archive/2011/10/29/sws_scale.html

            經常用到ffmpeg中的sws_scale來進行圖像縮放和格式轉換,該函數可以使用各種不同算法來對圖像進行處理。以前一直很懶,懶得測試和甄別應該使用哪種算法,最近的工作時間,很多時候需要等待別人。忙里偷閑,對ffmpeg的這一組函數進行了一下封裝,順便測試了一下各種算法。

            簡單說一下測試環境,我使用的是Dell的品牌機,i5的CPU。ffmpeg是2010年8月左右的當時最新版本編譯而成,我使用的是其靜態庫版本。

            sws_scale的算法有如下這些選擇。

            #define SWS_FAST_BILINEAR     1
            #define SWS_BILINEAR          2
            #define SWS_BICUBIC           4
            #define SWS_X                 8
            #define SWS_POINT          0x10
            #define SWS_AREA           0x20
            #define SWS_BICUBLIN       0x40
            #define SWS_GAUSS          0x80
            #define SWS_SINC          0x100
            #define SWS_LANCZOS       0x200
            #define SWS_SPLINE        0x400

             

            首先,將一幅1920*1080的風景圖像,縮放為400*300的24位RGB,下面的幀率,是指每秒鐘縮放并渲染的次數。(經過我的測試,渲染的時間可以忽略不計,主要時間還是耗費在縮放算法上。)

            算法

            幀率

            圖像主觀感受

            SWS_FAST_BILINEAR

            228

            圖像無明顯失真,感覺效果很不錯。

            SWS_BILINEAR

            95

            感覺也很不錯,比上一個算法邊緣平滑一些。

            SWS_BICUBIC

            80

            感覺差不多,比上上算法邊緣要平滑,比上一算法要銳利。

            SWS_X

            91

            與上一圖像,我看不出區別。

            SWS_POINT

            427

            細節比較銳利,圖像效果比上圖略差一點點。

            SWS_AREA

            116

            與上上算法,我看不出區別。

            SWS_BICUBLIN

            87

            同上。

            SWS_GAUSS

            80

            相對于上一算法,要平滑(也可以說是模糊)一些。

            SWS_SINC

            30

            相對于上一算法,細節要清晰一些。

            SWS_LANCZOS

            70

            相對于上一算法,要平滑(也可以說是模糊)一點點,幾乎無區別。

            SWS_SPLINE

            47

            和上一個算法,我看不出區別。

            總評,以上各種算法,圖片縮小之后的效果似乎都不錯。如果不是對比著看,幾乎看不出縮放效果的好壞。上面所說的清晰(銳利)與平滑(模糊),是一種客觀感受,并非清晰就比平滑好,也非平滑比清晰好。其中的Point算法,效率之高,讓我震撼,但效果卻不差。此外,我對比過使用CImage的繪制時縮放,其幀率可到190,但效果慘不忍睹,顏色嚴重失真。

            第二個試驗,將一幅1024*768的風景圖像,放大到1920*1080,并進行渲染(此時的渲染時間,雖然不是忽略不計,但不超過5ms的渲染時間,不影響下面結論的相對準確性)。

            算法

            幀率

            圖像主觀感受

            SWS_FAST_BILINEAR

            103

            圖像無明顯失真,感覺效果很不錯。

            SWS_BILINEAR

            100

            和上圖看不出區別。

            SWS_BICUBIC

            78

            相對上圖,感覺細節清晰一點點。

            SWS_X

            106

            與上上圖無區別。

            SWS_POINT

            112

            邊緣有明顯鋸齒。

            SWS_AREA

            114

            邊緣有不明顯鋸齒。

            SWS_BICUBLIN

            95

            與上上上圖幾乎無區別。

            SWS_GAUSS

            86

            比上圖邊緣略微清楚一點。

            SWS_SINC

            20

            與上上圖無區別。

            SWS_LANCZOS

            64

            與上圖無區別。

            SWS_SPLINE

            40

            與上圖無區別。

            總評,Point算法有明顯鋸齒,Area算法鋸齒要不明顯一點,其余各種算法,肉眼看來無明顯差異。此外,使用CImage進行渲染時縮放,幀率可達105,效果與Point相似。

             

            個人建議,如果對圖像的縮放,要追求高效,比如說是視頻圖像的處理,在不明確是放大還是縮小時,直接使用SWS_FAST_BILINEAR算法即可。如果明確是要縮小并顯示,建議使用Point算法,如果是明確要放大并顯示,其實使用CImage的Strech更高效。

            當然,如果不計速度追求畫面質量。在上面的算法中,選擇幀率最低的那個即可,畫面效果一般是最好的。

            不過總的來說,ffmpeg的scale算法,速度還是非常快的,畢竟我選擇的素材可是高清的圖片。

            (本想順便上傳一下圖片,但各組圖片差異其實非常小,恐怕上傳的時候格式轉換所造成的圖像細節丟失,已經超過了各圖片本身的細節差異,因此此處不上傳圖片了。)

             

            注:試驗了一下OpenCV的Resize效率,和上面相同的情況下,OpenCV在上面的放大試驗中,每秒可以進行52次,縮小試驗中,每秒可以進行458次。



             

            posted on 2013-01-28 18:17 楊粼波 閱讀(755) 評論(0)  編輯 收藏 引用

            色婷婷久久综合中文久久蜜桃av | 久久天天躁狠狠躁夜夜96流白浆 | 精品熟女少妇av免费久久| 无码专区久久综合久中文字幕| 少妇高潮惨叫久久久久久| 91精品国产91久久久久福利| 一本大道加勒比久久综合| 麻豆精品久久久一区二区| 久久久精品波多野结衣| 久久久国产精华液| 国产叼嘿久久精品久久| 久久久久久精品久久久久| 久久久久一区二区三区| 蜜桃麻豆WWW久久囤产精品| 精品国产一区二区三区久久久狼| 精品欧美一区二区三区久久久 | 国产高清美女一级a毛片久久w | 久久综合丁香激情久久| 亚洲欧美久久久久9999| 国产精品毛片久久久久久久| 天堂无码久久综合东京热| www.久久热.com| 精品无码久久久久国产动漫3d| 国产成人精品久久一区二区三区av | 久久影视国产亚洲| 久久91精品国产91久久麻豆| 婷婷国产天堂久久综合五月| 成人精品一区二区久久| 亚洲国产精品婷婷久久| 久久精品国产亚洲av麻豆小说| 久久久久久久久久久久久久| 人人狠狠综合88综合久久| 国产精品久久久天天影视香蕉| 国产产无码乱码精品久久鸭| 99久久精品国产一区二区| 亚洲欧美国产日韩综合久久 | 亚洲精品午夜国产va久久| 久久九九免费高清视频| 久久国产乱子伦精品免费午夜| 久久婷婷久久一区二区三区| 国产成人精品免费久久久久|