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


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

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

客人(124.78.*.*)
  1樓


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

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

 

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

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


設(shè)圖像高度為IHeight,寬度為IWidth,原圖中(x0,y0)經(jīng)過(guò)水平鏡像后從未將變?yōu)?/p>

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

X0=IWidth-y1; y0=y1


算法的C語(yǔ)言代碼:


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

void horizTranspose()

{

         int i,j;

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

         {            

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

              //傳送臨時(shí)Y緩沖區(qū)

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

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

                      numPixels>>1);                                                       

             //傳送臨時(shí)Cb緩沖區(qū)

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

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

                      numPixels>>2);        

             //傳送臨時(shí)Cr緩沖區(qū)

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

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

                      numPixels>>2);                                                                          

                  

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

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

                   {

                            //傳送臨時(shí)Y緩沖區(qū)               

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

                   }

                               

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

                   {

                            //傳送臨時(shí)Cb緩沖區(qū)

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

                            //傳送臨時(shí)Cr緩沖區(qū)

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

                   }

                                      

          }

}



四、圖像的縮放算法

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

假設(shè)圖像x軸方向縮放比率fx,y軸方向縮放比率是fy,那么原圖中點(diǎn)(x0,y0)對(duì)應(yīng)

于新圖中的點(diǎn)(x1,y1)的轉(zhuǎn)換表達(dá)式為:

X0=x1/fx; y0=y1/fy


算法的C語(yǔ)言代碼:

 

/*圖像縮放參數(shù)*/

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

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

/*縮放處理函數(shù)*/


/*縮放處理*/

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);          

            

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

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

            {  

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

                     {

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

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

                                }

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

                                {

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

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

                                }

                                else

                                {

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

                                }                                                                                  

                 }

            else

            {

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

            }                                             

                   }       

         }

}


[此貼子已經(jīng)被作者于2009-12-3 13:54:26編輯過(guò)]

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

返回版面帖子列表

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








簽名
主站蜘蛛池模板: 国产综合色在线视频区| 李莫愁好紧好湿好滑| 国产线视频精品免费观看视频| 亚洲国产综合网| 国产免费插插插| 无码国产色欲xxxx视频| 午夜毛片在线观看| 99精品国产在热久久无毒不卡| 欧美性色黄在线视频| 国产强被迫伦姧在线观看无码| 中文有码在线观看| 男人添女人p免费视频动态图| 国产精品黄页免费高清在线观看 | 一级特级女人18毛片免费视频| 狠狠色噜噜狠狠狠狠网站视频| 国产精品欧美一区二区三区不卡| 久久精品国产99久久久古代| 羞羞漫画小舞被黄漫免费| 大陆老太交xxxxⅹhd| 亚洲乱码一二三四区麻豆| 金发美女与黑人巨大交| 小浪蹄子嗯嗯水挺多啊| 亚洲欧美成aⅴ人在线观看| 黑巨人与欧美精品一区| 成人免费无码大片A毛片抽搐 | 国产免费一区二区三区在线观看 | 美女激情视频网站| 在线免费不卡视频| 久操视频免费观看| 精品人妻av无码一区二区三区| 国产精品自在线拍国产手机版| 久久久精品午夜免费不卡| 熟妇人妻一区二区三区四区| 国产成人精品综合在线| 一区二区三区国产最好的精华液 | 美女尿口18以下禁止观看免费| 在线a亚洲视频播放在线观看| 久久精品国产亚洲AV无码偷窥 | 亚洲精品无码国产| 香蕉久久久久久AV成人| 天堂√最新版中文在线|