<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    圖像編程學習筆記7――圖像縮放

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    假設放大因子為ratio,(為了避免新圖過大或過小,我們在程序中限制0.25≤ratio≤4),縮放(zoom)的變換矩陣很簡單:

    RFID設備管理軟件(2.13)

    縮放變換的源代碼如下,因為和轉置的那段程序很類似,程序中的注釋就簡單一些。

     

    [cpp] view plaincopy  
    1. /** 
    2. * 函數名: zoom 
    3. * 參  數: ratio -- 縮放率 
    4. * 功  能: 對圖片進行水平和垂直鏡像操作 
    5. *         只保存原圖大小的圖像數據,如果沒有就用白色填充 
    6. */  
    7. void zoom(double ratio)  
    8. {  
    9.     int height = bmpInfoHeader.biHeight;     
    10.     int width = bmpInfoHeader.biWidth;    
    11.     int imgSize = bmpInfoHeader.biSizeImage;  
    12.     int lineByte = (width * 8 +31) / 32 * 4;  //每行像素所占字節數  
    13.     pNewBmpData = new unsigned char[imgSize];   
    14.     memset(pNewBmpData,(BYTE)255,sizeof(unsigned char )*imgSize);   //先全部用白色填充,處理的時候沒有數據的自然就是白色了  
    15.     int x0,y0;  
    16.     for(int i = 0; i < height; i++ )  
    17.     {  
    18.         for(int j = 0; j < width; j++ )  
    19.         {  
    20.             x0 = j / ratio;  
    21.             y0 = i / ratio;  
    22.             if( (x0>=0) && (x0<width) && (y0>=0) && (y0<height))  
    23.             {  
    24.                 *(pNewBmpData + (height - 1 - i)*lineByte + j) = *(pBmpData + (height - 1 - y0)*lineByte + x0);   
    25.             }  
    26.         }  
    27.     }  
    28. }  
    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全