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


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

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

客人(124.78.*.*)
  1樓


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

 

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

 

一、圖像的平移算法

圖像平移的數(shù)學(xué)表達式原理:

初始坐標為(x0,y0)的點經(jīng)過平移(tx,ty)(以向右,向下為正方向)后,坐標變?yōu)椋▁1,y1)。這兩點之間的關(guān)系是x1=x0+tx,y1=y0+ty 。

這樣,平移后的圖像上的每一點都可以在原圖像中找到對應(yīng)的點。例如,對于新圖中的(0,0)像素,代入上面的議程組,可以求出對應(yīng)原圖中的點,可以直接將它的像素值同意設(shè)置為0或者255(對于灰度圖就是黑色或白色)。

同樣,若有點不在原圖中,也就說明原圖中有點被移出顯示區(qū)域。如果不想丟失被移出的部分圖像,可以將新生成的圖像擴大tx,高度擴大ty。


 

平移處理的C語言代碼:


 

/*圖像偏移量初始化*/

Int intXOffset=-200; //水平偏移量

Int intYOffset=-200; //垂直偏移量,必須是2的整數(shù)

void geometryTrans()

{

         int i,j;

         int intCapX,intCapY;

         for(i=0;i<numLines;i++) //行數(shù)

         {

             for(j=0;j<numPixels;j++) //像素數(shù) /每行

             {                    

            intCapX = j-intXOffset;

            intCapY = i-intYOffset/2;           

            

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

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

            {  

                //奇數(shù)行

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

                     {

                                         // 傳送亮度信號

                                         *(Uint8 *)(tempYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + (i-intYOffset/2)*numPixels + intCapX); 

                                }

                                //偶數(shù)行

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

                                {

                                             // 傳送亮度信號

                                         *(Uint8 *)(tempYbuffer + i*numPixels + j) = *(Uint8 *)(capYbuffer + (i-intYOffset/2)*numPixels + intCapX);                                 

                                }

                                else

                                {

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

                                }                                                                                  

                 }

            else

            {

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

            }                                             

                   }       

         }

}       

二、圖像的垂直鏡像變換算法

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

設(shè)圖像高度為IHeight,寬度為IWidth,原圖中(x0,y0)垂直鏡像后將變?yōu)椋▁0,

IHeight-y0),其表達式為:

設(shè)圖像高度為IHeight,寬度為IWidth,原圖中(x0,y0)垂直鏡像后將變?yōu)椋▁0,

IHeight-y0),其表達式為:

X0=x1; y0=IHeight-y1


 

算法的C語言代碼:


 

         portNumber = 0;

         vpHchannel0 = bt656_8bit_ncfc(portNumber);

         bt656_capture_start(vpHchannel0);

         /*等待第一幀數(shù)據(jù)采集完成*/

         while(capNewFrame == 0){}

         /*將數(shù)據(jù)存入顯示緩沖區(qū),并清采集完成的標志*/

         capNewFrame =0;


 

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

         {

              /*傳送Y緩沖區(qū)*/

              //前半部分為原始圖像

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

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

                      numPixels>>1);

                   //后半部分為垂直鏡像圖像

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


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

返回版面帖子列表

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








簽名
主站蜘蛛池模板: 久9这里精品免费视频| 亚洲短视频在线观看| JIZZ成熟丰满| 欧美日韩一区二区三区在线观看视频 | 久久精品国产亚洲香蕉| 色综合合久久天天综合绕视看| 成人毛片18女人毛片免费| 人妻系列av无码专区| 在线视频国产网址你懂的在线视频| 日韩美aaa特级毛片| 国产91免费在线观看| a毛看片免费观看视频| 欧美丰满少妇xxxxx| 国产亚洲欧美一区二区| yellow中文字幕网| 欧美精品久久天天躁| 国产成人av一区二区三区在线观看 | 日韩免费视频一区二区| 十六以下岁女子毛片免费| 91午夜精品亚洲一区二区三区| 日韩精品一区二区三区毛片 | 男人和男人一起差差| 国产精品一卡二卡三卡| 久久一区二区三区免费播放| 狠狠爱天天综合色欲网| 国产成人免费网站| 一级一级人与动毛片| 欧美极品少妇×XXXBBB| 国产乱人视频在线播放| av网站免费线看| 明星造梦一区二区| 公啊灬啊灬啊灬快灬深用| fulidown国产精品合集| 成人网站免费看黄a站视频| 亚洲电影一区二区三区| 被催眠暴jian的冷艳美mtxt下载| 天天久久影视色香综合网| 久久精品无码一区二区三区不卡 | 无码人妻久久一区二区三区不卡| 亚洲精品第一国产综合精品| 香蕉久久综合精品首页|