• <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>

            極品垃圾

            初學VC ,就是把每天所看到的整理到博客,慢慢消化這些內容。見證我的學習之路吧。很多都是轉載。

            公告

            初學VC ,就是把每天所看到的整理到博客,慢慢消化這些內容。見證我的學習之路吧。很多都是轉載。
            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            統計

            • 隨筆 - 0
            • 文章 - 61
            • 評論 - 1
            • 引用 - 0

            常用鏈接

            留言簿(2)

            隨筆分類

            文章分類(55)

            文章檔案(61)

            搜索

            •  

            最新評論

            2次插值

             

            圖像的雙線性插值放大算法中,目標圖像中新創造的象素值,是由源圖像位置在它附近的2*2區域4個鄰近象素的值通過加權平均計算得出的。雙線性內插值算法放大后的圖像質量較高,不會出現像素值不連續的的情況。然而次算法具有低通濾波器的性質,使高頻分量受損,所以可能會使圖像輪廓在一定程度上變得模糊。

            圖1

            X方向的線性插值

            對于標準的雙線性差值算法,X方向的線性插值:

            [通用1]

            [通用2]

            具體到我們所實現的算法中,我們使Q11、Q12、Q21、Q22為光柵上相鄰的四點,即P只能落于這四點其中一點上。Δcol是當前像素離像素所屬區域原點的水平距離,比如圖2,各種不同的顏色代表一個區域,區域原點為區域左上角的像素。

             

            δ R2 = Color Q22 −Color Q12 ?Δcol+Color Q12 ?256 (1)

            δ R1 = Color Q21 −Color Q11 ?Δcol+Color Q11 ?256 (2)

             

            其中:Δcol=(DestColNumber?((SrcWidth?8)/DestWidth))&255, Color(X)表示點X的顏色,具體算法使用的是24位真彩色格式。

            Y方向的線性插值

            做完X方向的插值后再做Y方向的插值,對于一般情況,有:

                 [通用3]

            而我們的具體算法中,Y方向的線性插值方法如(3)所示。Δrow是當前像素離像素所屬區域原點的垂直距離,比如圖2,各種不同的顏色代表一個區域,區域原點為區域左上角的像素。

             

            Color P = δ R2 ?256+ δ R2 −δ R1 ?Δrow ?16 (3)

             

            其中:Δrow=(DestRowNumber?((SrcHeight?8)/DestHeight))&255,由于前面為了便于計算左移了16位,因此最后需要右移16位保持匹配。

            算法描述

            類 C 偽碼如下:

            1. for (目標圖像第一行的像素++)      
            2. {      
            3.     // 源圖像上Q12, Q22, Q11, Q21的選取見下一節      
            4.     獲取源圖像Q12, Q22, Q11, Q21的顏色;      
            5.      
            6.     // X 方向的插值      
            7.     δ(R2) = (Color(Q22) - Color(Q12)) * δcol+ Color(Q12) * 256;      
            8.     δ(R1) = (Color(Q21) - Color(Q11)) * δcol+ Color(Q11) * 256;      
            9.      
            10.     // 保存 δ(R1)到一個臨時數組,因為下一行的δ(R2)等于這一行的δ(R1)      
            11.     temp[i++] = δ(R1);      
            12.      
            13.     // Y 方向的插值      
            14.     Color(P) = (δ(R2) * 256 + (δ(R2) - δ(R1)) *δrow) >> 16;      
            15.      
            16.     將 P 輸出到目標位圖中。      
            17. }      
            18.      
            19. for (目標圖像第二行到最末行)      
            20. {      
            21.     for (行上的像素++)      
            22.     {      
            23.         // 源圖像上Q12, Q22, Q11, Q21的選取見下一節      
            24.         獲取源圖像Q12, Q22, Q11, Q21的顏色;      
            25.      
            26.         // X 方向的插值      
            27.         δ(R2) = temp[i++]; // 下一行的δ(R2)等于上一行的δ(R1)      
            28.         δ(R1) = (Color(Q21) - Color(Q11)) *δcol+ Color(Q11) * 256;      
            29.      
            30.         // 保存 δ(R1)到一個臨時數組,因為下一行的δ(R2)等于這一行的δ(R1)      
            31.         temp[i++] = δ(R1);      
            32.      
            33.         // Y 方向的插值      
            34.         Color(P) = (δ(R2) * 256 + (δ(R2) - δ(R1)) * δrow) >> 16;      
            35.      
            36.         將 P 輸出到目標位圖中。      
            37.     }      
            38. }    

             

             

            算法中Q12, Q22, Q11, Q21的選取

             

            我們以放大兩倍為例,說明選取Q12, Q22, Q11, Q21的過程。源圖像3*3區域放大為目標區域6*6區域。設以下為目標圖像:

            A

            A

            B

            B

             

             

            A

            A

            B

            B

             

             

             

             

            C

            C

             

             

             

             

            C

            C

             

             

             

             

             

             

            D

            D

             

             

             

             

            D

            D

            圖2

            目標圖像A像素區域對應的Q21Q22Q11Q12,以紅色區域為原點向右下方擴展的2*2區域。

            Q21

            Q22

             

            Q11

            Q12

             

             

             

             

            圖3

            目標圖像B像素區域對應的Q21Q22Q11Q12,以藍色區域為原點向右下方擴展的2*2區域。

             

            Q21

            Q22

             

            Q11

            Q12

             

             

             

            圖4

            目標圖像C像素區域對應的Q21Q22Q11Q12,以綠色區域為原點向右下方擴展的2*2區域。

             

             

             

             

            Q21

            Q22

             

            Q11

            Q12

            圖5

            目標圖像D像素區域對應的Q21Q22Q11Q12,目標圖像處于最后兩行的邊界情況,將Q21Q22Q11Q12這四個點的值設為一樣。

             

             

             

             

             

             

             

             

            Q11=Q12=Q22=Q21

            圖6

             

             

            程序流程圖

            流程圖右邊虛線框中為相關過程的注解。

            posted on 2009-05-13 19:50 極品垃圾 閱讀(601) 評論(0)  編輯 收藏 引用 所屬分類: vc

            …久久精品99久久香蕉国产| 久久婷婷色香五月综合激情| 97久久超碰国产精品2021| 久久精品天天中文字幕人妻 | 99麻豆久久久国产精品免费| 91精品国产9l久久久久| 国产AⅤ精品一区二区三区久久| 久久99久久无码毛片一区二区| 18禁黄久久久AAA片| 青青草国产精品久久| 久久久黄色大片| 91性高湖久久久久| 久久综合香蕉国产蜜臀AV| 岛国搬运www久久| 久久99精品久久久久久久不卡| 伊人久久亚洲综合影院| 国产精品久久久天天影视| 精品久久亚洲中文无码| 久久婷婷色综合一区二区| 久久se精品一区二区| 国产亚洲精久久久久久无码77777| 国产成人久久精品激情| 久久无码专区国产精品发布| 精品久久久久久国产三级| 成人资源影音先锋久久资源网| 久久精品国产色蜜蜜麻豆| 久久久久综合中文字幕| 99久久无码一区人妻| 国产美女久久精品香蕉69| 国产欧美久久久精品影院| 久久人妻少妇嫩草AV蜜桃| 99久久国产主播综合精品| .精品久久久麻豆国产精品| 久久精品人人做人人爽97| 国产成人久久AV免费| 精品久久久久久国产潘金莲| 久久婷婷五月综合色高清| 日韩人妻无码精品久久久不卡 | 国产一区二区三区久久精品| 青青草原综合久久大伊人| 伊人热热久久原色播放www|