日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

高性能图像放大算法——hqx算法

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高性能图像放大算法——hqx算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 介紹

hqx(“hq” 代表 “high quality”;“x” 代表放大倍數)算法準確來說是hqnx算法,
是Maxim Stepin開發的Pixel-art scaling algorithms算法之一。hqx有三個濾波器:hq2x、hq3x和hq4x,其放大倍數分別為2、3和4。

先來看下使用最鄰近插值算法得到的放大結果:

然后再看看使用hq3x算法進行放大之后得到的結果:

可以看到圖像的鋸齒情況有了很明顯的改善。

2. 算法思想

首先,將源像素周圍的8個像素中的每個像素的顏色與源像素的顏色進行比較。通過根據閾值檢查顏色相似的像素來檢測形狀。這就給出了28=2562^8=25628=256種相似或不同鄰居的組合。為了將單個像素擴展為2×2、3×3或4×4像素塊,在包含必要插值模式的預定義表中查找鄰域排列。

  • 1) 第一步:是對源像素的3x3區域進行分析。首先,我們計算中心像素與其8個最近鄰之間的色差。然后將這種差異與預定義的閾值進行比較,并將這些像素分為兩類:“關閉”和“遠”顏色。有8個鄰居,所以我們得到256個可能的組合。
  • 2)下一步:是過濾,使用包含256個條目的查找表,每個近鄰/遠距離有色鄰居組合一個條目。每個條目描述如何混合3x3區域的源像素的顏色,以獲得濾波圖像的內插像素。
  • 3)目前的實現是利用YUV顏色空間來計算色差,對Y(亮度)分量具有更大的容限,然后對顏色分量U和V進行顏色空間轉換,如果源圖像的格式為每像素16位,則使用簡單的查找表即可實現顏色空間轉換。還可以使用MMX指令計算色差并將它們與閾值進行比較。
  • 4)創建查找表是最困難的部分是:對于每個組合,必須確定區域的最可能的矢量表示,在圖像的不同顏色區域之間的邊緣的想法被保留,邊緣方向接近于正確的一個PO。斯泰爾然后使用反走樣將該矢量表示以更高的(3x)分辨率光柵化,并且結果被存儲在查找表中
  • 5)過濾器不是為照片設計的,而是為清晰的邊緣圖像設計的,比如線條圖形或卡通精靈。它還被設計成足夠快,可以實時處理256x256圖像。

3. 實現

由于它的代碼比較長,這里就不直接貼出來了,可以去我的資源頁查找下載,后續審核通過會貼出鏈接。

2020.12.14更新:
由于原來的demo在CSDN沒有審核通過,需要demo的請私信并留下郵箱地址,或者參考下面的資源:

  • google code hqx
  • libxbr-standalone
  • 2018.6.4更新:
    工程代碼demo下載地址:鏈接

    總結

    以上是生活随笔為你收集整理的高性能图像放大算法——hqx算法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。