程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> opencv-vs2010 mfc 沒有picturebox怎麼辦

opencv-vs2010 mfc 沒有picturebox怎麼辦

編輯:編程綜合問答
vs2010 mfc 沒有picturebox怎麼辦

vs2010 mfc 工具欄中沒有picturebox怎麼添加,本人編寫opencv程序時需要講圖片顯示在對話框中,網上很多是用picturebox做的,但我的vs2010沒有picturebox

最佳回答:


OpenCV中得圖可以顯示在picture control上,只不過需要把mat對象轉成CImage一下,很簡單

 void MatToCImage( Mat &mat, CImage &cImage)
{
    //create new CImage
    int width    = mat.cols;
    int height   = mat.rows;
    int channels = mat.channels();

    cImage.Destroy(); //clear
    cImage.Create(width, height,8*channels ); //默認圖像像素單通道占用1個字節

    //copy values
    uchar* ps;
    uchar* pimg = (uchar*)cImage.GetBits(); //A pointer to the bitmap buffer
    int step = cImage.GetPitch();

    for (int i = 0; i < height; ++i)
    {
        ps = (mat.ptr<uchar>(i));
        for ( int j = 0; j < width; ++j )
        {
            if ( channels == 1 ) //gray
            {
                *(pimg + i*step + j) = ps[j];
            }
            else if ( channels == 3 ) //color
            {
                for (int k = 0 ; k < 3; ++k )
                {
                    *(pimg + i*step + j*3 + k ) = ps[j*3 + k];
                }           
            }
        }   
    }
}
u011295171
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved