以文本方式查看主題

-  曙海教育集團論壇  (http://m.scb-ycwb.com/bbs/index.asp)
--  DSP系統和硬件開發討論區  (http://m.scb-ycwb.com/bbs/list.asp?boardid=5)
----  李現路:DSP6000圖像位置移動與變形的典型算法(三)  (http://m.scb-ycwb.com/bbs/dispbbs.asp?boardid=5&id=84)

--  作者:admin
--  發布時間:2009-12-3 13:48:22
--  李現路:DSP6000圖像位置移動與變形的典型算法(三)

李現路: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編輯過]

主站蜘蛛池模板: 日本videos18高清hd下| 正点嫩模大尺度写真在线视频| 女人张开腿给男人桶爽免费| 人人妻人人澡人人爽欧美精品| 97精品依人久久久大香线蕉97| 欧美巨鞭大战丰满少妇| 国产成人综合久久| 中文字幕无码精品三级在线电影| 精品视频www| 国模吧一区二区| 亚洲AV无码有乱码在线观看| 色综合久久久久综合体桃花网| 婷婷丁香六月天| 亚洲国产精品嫩草影院| 香蕉久久av一区二区三区| 影音先锋亚洲资源| 亚洲欧美日韩精品高清| 黄a视频在线观看| 强波多野结衣痴汉电车| 亚洲最大的黄色网| 青青热久免费精品视频在线观看| 小雪老师又嫩又紧的| 亚洲女初尝黑人巨高清| 被三个男人绑着躁我好爽视频| 好男人好资源在线影视官网| 亚洲国产成人久久一区二区三区| 蜜桃AV噜噜一区二区三区| 天堂中文字幕在线观看| 五月天婷婷在线播放| 精品国产日韩一区三区| 国产精品无码专区| 中文字幕高清免费不卡视频| 渣男渣女抹胸渣男渣女在一起| 国产无遮挡AAA片爽爽| 一级做a爰片久久毛片图片| 欧美国产日韩在线观看| 四库影院永久在线精品| 1024手机在线播放视频| 成人午夜又粗又硬有大| 亚洲国产理论片在线播放| 羞羞视频免费网站在线看|