子窗口正常弹出,但是无法利用OpenCV在子窗口中实现全局矩阵的显示?

利用MFC/OpenCV实现图像处理时遇到的问题,如下:在主窗口中添加按钮,点击按钮时会有对应的子窗口弹出,想要在子窗口弹出的“瞬间”利用OpenCV显示父窗口已经处理好... 利用MFC/OpenCV实现图像处理时遇到的问题,如下:
在主窗口中添加按钮,点击按钮时会有对应的子窗口弹出,想要在子窗口弹出的“瞬间”利用OpenCV显示父窗口已经处理好的矩阵,显示失败?!
但是,可以正常显示单个的矩阵元素的数值到静态控件上。
(已经有专门的类处理子窗口的显示)
谢谢了!
子窗口用于显示的显示代码如补充问题所示,追问部分放不下了,

//显示原始能量图像
CvMat Ma = cvMat(size.x,size.y,CV_32SC1,data_32_ptr);
//CvMat转换为IplImage,以用于CvvImage的显示功能
IplImage* srcImage_Engery = cvCreateImage(cvGetSize(&Ma),IPL_DEPTH_32S,1);
// 调整显示象素的区间,保证最大值为白色,最小值为黑色
cvScale(srcImage_Engery, srcImage_Engery, 1.0/(MAX_32-MIN_32), 1.0*(-MIN_32)/(MAX_32-MIN_32));
cvGetImage(&Ma,srcImage_Engery);
//获取显示区域
CDC *pDC_Engery = GetDlgItem(IDC_STATIC_Spots)->GetDC();
HDC hDC_Engery = pDC_Engery->GetSafeHdc();
CRect rect_Engery;
GetDlgItem(IDC_STATIC_Spots)->GetClientRect(&rect_Engery);
//显示
CvvImage cimg_Engery;
cimg_Engery.CopyOf(srcImage_Engery);
cimg_Engery.DrawToHDC(hDC_Engery,&rect_Engery);
ReleaseDC(pDC_Engery);
展开
 我来答
旁箫吟cP
2012-02-06 · 超过16用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:27.9万
展开全部
你父窗口处理好的矩阵你直接用指针传递

Cvimage *img;
你直接将img传递就好了啊
显示失败 是否你的hdc 或cdc没有处理好 或者你画面通道定义错误 具体的情况你说下
追问
父窗口的矩阵用的是全局变量,没有用指针传递?!这样应该也可以吧?
子窗口用于显示的显示代码如补充问题所示,追问部分放不下了,
(并且把这些代码放到了子窗口类的OnInitDialog()中,但是MSDN解释说:OnInitDialog()中的代码是在子窗口显示之前运行的,这样的话,子窗口弹出时就不会显示图像了?!,如果不放在OnInitDialog()中,这些代码放到哪个函数中合适啊?!)
追答
将代码添加到按键事件去
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式