u011295171
fu1142297317
采纳率50%
2015-09-25 08:57 阅读 1.7k
已采纳

vs2010 mfc 没有picturebox怎么办

vs2010 mfc 工具栏中没有picturebox怎么添加,本人编写opencv程序时需要讲图片显示在对话框中,网上很多是用picturebox做的,但我的vs2010没有picturebox

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    lx624909677 lx624909677 2015-09-25 15:49

    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];
                    }           
                }
            }   
        }
    }
    
    点赞 评论 复制链接分享
  • Mr_dsw Andoter 2015-09-25 09:04

    你可以打开工具箱,右键然后新增选项卡,在那里面看看你有没有把他添加进去。

    点赞 评论 复制链接分享
  • Mr_dsw Andoter 2015-09-25 09:04

    你可以打开工具箱,右键然后新增选项卡,在那里面看看你有没有把他添加进去。

    点赞 评论 复制链接分享
  • lenovo20142018 你我渐行渐远 2015-09-26 00:04

    工具箱,鼠标右击,显示全部,因为所有工具并没有全部出现

    点赞 评论 复制链接分享

相关推荐