如何在 C++ 的 GUI 上显示 Iplmage 格式而不是在另一个窗口中显示?

Posted

技术标签:

【中文标题】如何在 C++ 的 GUI 上显示 Iplmage 格式而不是在另一个窗口中显示?【英文标题】:How to show Iplmage format on the GUI of C++ instead of showing it in another windows? 【发布时间】:2010-01-20 06:28:01 【问题描述】:

我正在尝试将输出图像显示到 C++ 界面上,而不是创建另一个窗口来显示图像。 例如:cvNameWindow("窗口 A",0); cvShowImage("窗口 A", imgA); 这将创建一个窗口并在其上显示 imgA。 我的问题是我可以将我的 imgA 连同我的所有其他按钮和文本框一起显示到我的 C++ 界面上。 我正在使用 Borland C++ Builder 6 和 OpenCV。

【问题讨论】:

【参考方案1】:

一方面,因为它是开源的,你可以看看 cvShowImage 的 Windows 实现here。

我的 C++ Builder 记忆有点模糊,但我想您可以跳过所有 CvWindow 调用并使用任何控件(PaintBox?)GetDeviceContext() 到它的 DC 和 GetClientRect() 来获取它的大小。

希望这会有所帮助。

【讨论】:

【参考方案2】:

您需要将 IplImage 转换为带有 this 的 Graphics::TBitmap。然后你可以把它画成here。

【讨论】:

以上是关于如何在 C++ 的 GUI 上显示 Iplmage 格式而不是在另一个窗口中显示?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows (Vista) 上使用 C++、Qt 的 GUI 设计问题

如何在 WPF C# GUI 中使用跨平台 C++

将位图图像加载到 WINApi C++ 并显示

当我想将 IpLmage 转换为 mat、opencv 时遇到了一些错误

使用 MFC 在 2 个显示器上扩展 GUI

在 Python GUI 中嵌入 C++ 程序