<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇DSP專區(qū)DSP系統(tǒng)和硬件開發(fā)討論區(qū) → 李現(xiàn)路:DSP6000圖像位置移動(dòng)與變形的典型算法(四)


      共有8613人關(guān)注過本帖樹形打印

    主題:李現(xiàn)路:DSP6000圖像位置移動(dòng)與變形的典型算法(四)

    客人(124.78.*.*)
      1樓


    李現(xiàn)路:DSP6000圖像位置移動(dòng)與變形的典型算法(四)  發(fā)帖心情 Post By:2009-12-3 13:49:29

      李現(xiàn)路:DSP6000圖像位置移動(dòng)與變形的典型算法(四)

     

    五、圖像的旋轉(zhuǎn)實(shí)驗(yàn)


    數(shù)學(xué)表達(dá)式原理:


    下面我們來推導(dǎo)一下旋轉(zhuǎn)運(yùn)算的變換公式。如下圖所示,點(diǎn)(x0,y0)經(jīng)過旋轉(zhuǎn)θ度后

    坐標(biāo)變成(x1,y1)。其數(shù)學(xué)表達(dá)式為:

    X0=x1cos(θ)+y1sin(θ)+ccos(θ)-dsin(θ)+a ;

    Y0=-xsin(θ)+y1cos(θ)+csin(θ)-dcos(θ)+ b


    算法的C語言代碼:


    /*圖像旋轉(zhuǎn)參數(shù)*/

    Float fAngle=3.1415927/3; //旋轉(zhuǎn)的角度

    *畫矩形邊框函數(shù)*/

    Void drawRectangle();

    *計(jì)算圖像旋轉(zhuǎn)參數(shù)*/

    Void computeParameter();

    /*進(jìn)行圖像旋轉(zhuǎn)處理*/

    void rotate()

    {

             int i,j,intInc;

             int intCapYInc;

             int intCapX,intCapY;

            

             /*進(jìn)行圖像旋轉(zhuǎn),重新賦值*/

             //方框內(nèi)奇數(shù)行

             for(i=intALines;i<intDLines;i++)

             {

                 for(j=intAPixels;j<intDPixels;j++)

                 {

                intInc = i*2;  


                intCapX    = (int)(j*cosAngle + intInc*sinAngle + f1 + 0.5);

                intCapYInc = (int)(intInc*cosAngle - j*sinAngle + f1 + 0.5);          

                         

                if((intCapYInc%2)==0)

                {

                         intCapY = intCapYInc/2;

                }

                else

                {

                         intCapY = (intCapYInc-1)/2+numLines/2;

                }

                

                //判斷是否在原圖范圍內(nèi)

                if((intCapX>=0) && (intCapX<numPixels) && (intCapY>=0) && (intCapY<numLines))  

                {

                                    //傳送亮度信號(hào)

                                    *(Uint8 *)(tempYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + intCapY*numPixels + intCapX);                                                                         

                     }

                else

                {

                          *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0xFF;

                }

                                    

                       }       

             }

                              

             //方框內(nèi)偶數(shù)行

             for(i=numLines/2+intALines;i<numLines/2+intDLines;i++)

             {

                 for(j=intAPixels;j<intDPixels;j++)

                 {                

                intInc = (i-numLines/2)*2 + 1;


                intCapX    = (int)(j*cosAngle + intInc*sinAngle + f1 + 0.5);

                intCapYInc = (int)(intInc*cosAngle - j*sinAngle + f1 + 0.5);          

                         

                if((intCapYInc%2)==0)

                {

                         intCapY = intCapYInc/2;

                }

                else

                {

                         intCapY = (intCapYInc-1)/2+numLines/2;

                }            


                //判斷是否在原圖范圍內(nèi)

                if((intCapX>=0) && (intCapX<numPixels) && (intCapY>=0) && (intCapY<numLines))  

                {

                                    //傳送亮度信號(hào)

                                    *(Uint8 *)(tempYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + intCapY*numPixels + intCapX);                                                                         

                     }

                else

                {

                          *(Uint8 *)(tempYbuffer + i*numPixels + j) = 0xFF;

                }

                                    

                       }       

             }       

    }



                                                  曙海教育


                                                曙海嵌入式學(xué)院


                            (課程:DSP培訓(xùn),FPGA培訓(xùn),MTK培訓(xùn),Android培訓(xùn),iPhone培訓(xùn))


                                               電話:021-51875830


                                               網(wǎng)址:http://www.51qianru.cn


                                                  講師:李現(xiàn)路


                              版權(quán)所有-曙海教育 歡迎轉(zhuǎn)摘,轉(zhuǎn)摘請(qǐng)注明作者和出處


    支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    李現(xiàn)路:DSP6000圖像位置移動(dòng)與變形的典型算法(四)








    簽名