日韩国产欧美精品一区二区三区,亚洲男女自偷自拍图片另类,亚洲欧美久久久,亚洲国产成人一区


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


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

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

客人(124.78.*.*)
  1樓


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

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

 

五、圖像的旋轉實驗


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


下面我們來推導一下旋轉運算的變換公式。如下圖所示,點(x0,y0)經過旋轉θ度后

坐標變成(x1,y1)。其數(shù)學表達式為:

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

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


算法的C語言代碼:


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

Float fAngle=3.1415927/3; //旋轉的角度

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

Void drawRectangle();

*計算圖像旋轉參數(shù)*/

Void computeParameter();

/*進行圖像旋轉處理*/

void rotate()

{

         int i,j,intInc;

         int intCapYInc;

         int intCapX,intCapY;

        

         /*進行圖像旋轉,重新賦值*/

         //方框內奇數(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;

            }

            

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

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

            {

                                //傳送亮度信號

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

                 }

            else

            {

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

            }

                                

                   }       

         }

                          

         //方框內偶數(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;

            }            


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

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

            {

                                //傳送亮度信號

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

                 }

            else

            {

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

            }

                                

                   }       

         }       

}



                                              曙海教育


                                            曙海嵌入式學院


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


                                           電話:021-51875830


                                           網址:http://www.51qianru.cn


                                              講師:李現(xiàn)路


                          版權所有-曙海教育 歡迎轉摘,轉摘請注明作者和出處


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

返回版面帖子列表

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








簽名
主站蜘蛛池模板: 顺昌县| 凉山| 常熟市| 陇南市| 库车县| 海口市| 沅陵县| 额尔古纳市| 吴江市| 台中市| 平舆县| 昂仁县| 尉犁县| 岚皋县| 晋城| 屯门区| 古田县| 神农架林区| 西华县| 彭阳县| 农安县| 宝丰县| 霸州市| 于都县| 无锡市| 临泽县| 寻乌县| 长岭县| 丰原市| 文昌市| 裕民县| 临湘市| 四川省| 宁城县| 达州市| 江油市| 杭锦旗| 盈江县| 平顺县| 丰原市| 留坝县|