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

    曙海教育集團論壇DSP專區DSP系統和硬件開發討論區 → 李現路:DSP6000圖像位置移動與變形的典型算法(三)


      共有7481人關注過本帖樹形打印

    主題:李現路:DSP6000圖像位置移動與變形的典型算法(三)

    客人(124.78.*.*)
      1樓


    李現路:DSP6000圖像位置移動與變形的典型算法(三)  發帖心情 Post By:2009-12-3 13:48:22

    李現路:DSP6000圖像位置移動與變形的典型算法(三)

     

    三、圖像的水平鏡像變換算法

    數學表達式原理:


    設圖像高度為IHeight,寬度為IWidth,原圖中(x0,y0)經過水平鏡像后從未將變為

    (IWidth-x0,y0),其表達式為:

    X0=IWidth-y1; y0=y1


    算法的C語言代碼:


    /*水平鏡像變換處理*/

    void horizTranspose()

    {

             int i,j;

             for(i=0;i<numLines;i++)

             {            

                  /*前半部分為原始圖像*/

                  //傳送臨時Y緩沖區

                       DAT_copy((void *)(capYbuffer + i * numPixels),

                          (void *)(tempYbuffer + i * numPixels),

                          numPixels>>1);                                                       

                 //傳送臨時Cb緩沖區

                 DAT_copy((void *)(capCbbuffer + i * (numPixels >> 1)),

                          (void *)(tempCbbuffer + i * (numPixels >> 1)),

                          numPixels>>2);        

                 //傳送臨時Cr緩沖區

                 DAT_copy((void *)(capCrbuffer + i * (numPixels >> 1)),

                          (void *)(tempCrbuffer + i * (numPixels >> 1)),

                          numPixels>>2);                                                                          

                      

                       /*后半部分為水平鏡像圖像*/

                       for(j=numPixels/2;j<numPixels;j++)

                       {

                                //傳送臨時Y緩沖區               

                                *(Uint8 *)(tempYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + i*numPixels + numPixels-1-j);             

                       }

                                   

                 for(j=(numPixels>>2);j<(numPixels>>1);j++)

                       {

                                //傳送臨時Cb緩沖區

                                *(Uint8 *)(tempCbbuffer + i*(numPixels>>1) + j) = *(Uint8 *)(capCbbuffer + i*(numPixels>>1) + (numPixels>>1)-1-j);                   

                                //傳送臨時Cr緩沖區

                                *(Uint8 *)(tempCrbuffer + i*(numPixels>>1) + j) = *(Uint8 *)(capCrbuffer + i*(numPixels>>1) + (numPixels>>1)-1-j);                   

                       }

                                          

              }

    }



    四、圖像的縮放算法

    數學表達式原理:

    假設圖像x軸方向縮放比率fx,y軸方向縮放比率是fy,那么原圖中點(x0,y0)對應

    于新圖中的點(x1,y1)的轉換表達式為:

    X0=x1/fx; y0=y1/fy


    算法的C語言代碼:

     

    /*圖像縮放參數*/

    Float fXZoomRatio=0.5; //水平縮放比率

    Float fYZoomRatio=0.5; //垂直縮放比率

    /*縮放處理函數*/


    /*縮放處理*/

    void zoom()

    {

             int i,j;

             int intCapX,intCapY;

             for(i=0;i<numLines;i++)

             {

                 for(j=0;j<numPixels;j++)

                 {                    

                intCapX = (int)(j/fYZoomRatio+0.5);

                intCapY = (int)(i/fXZoomRatio+0.5);          

                

                //判斷是否在原圖范圍內

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

                {  

                         if((i<numLines/2) && (intCapY>=0) && (intCapY<numLines/2))

                         {

                                             //傳送亮度信號

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

                                    }

                                    else if((i>=numLines/2) && (i<numLines) && (intCapY>=numLines/2) && (intCapY<numLines))

                                    {

                                                 //傳送亮度信號

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

                                    }

                                    else

                                    {

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

                                    }                                                                                  

                     }

                else

                {

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

                }                                             

                       }       

             }

    }


    [此貼子已經被作者于2009-12-3 13:54:26編輯過]

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

    返回版面帖子列表

    李現路:DSP6000圖像位置移動與變形的典型算法(三)








    簽名
    主站蜘蛛池模板: 蜜桃视频在线观看免费网址入口| 久久只有这才是精品99| 美女把尿口扒开给男人桶视频| 国产自产视频在线观看香蕉| 久久久无码精品亚洲日韩按摩| 欧美乱大交xxxxx在线观看| 全免费A级毛片免费看网站| 青青国产成人久久激情911| 国自产拍在线天天更新91| 久久一区二区三区精品| 日韩精品无码一本二本三本| 亚洲色成人网一二三区| 精品国产一区二区三区久久狼| 国产欧美va欧美va香蕉在线观看| youjizz国产| 成人欧美一区二区三区在线| 亚洲aⅴ男人的天堂在线观看| 欧美激情校园春色| 午夜黄色福利视频| 荐片app官网下载ios怎么下载| 国产精品综合色区在线观看| 一本大道一卡二大卡三卡免费| 无码av大香线蕉伊人久久| 亚洲一区二区三区国产精品无码 | 诗涵留学荷兰被黑人摘小说| 国产美女精品三级在线观看| 一本一本久久a久久综合精品蜜桃| 新视觉yy6080私人影院| 亚洲av无码日韩av无码网站冲| 欧美日韩中文字幕在线| 免费播放哟哟的网站| 精品国产电影久久九九| 国产大片黄在线播放| 3344免费播放观看视频| 国产馆在线观看免费的| 一本到在线观看视频| 成人au免费视频影院| 久久国产精品99精品国产987| 日韩精品一区二区三区毛片| 亚洲日韩aⅴ在线视频| 永久久久免费浮力影院|