如何在eclipse上调试图像处理项目?

时间:2014-03-19 00:11:04

标签: c++ eclipse image-processing eclipse-plugin embedded

在工作中,我们拥有丰富的经验,使用旧版本的代码编写器(CC 3.3)为TI DSP平台开发图像处理应用程序。我们正在使用Eclipse(由Xilinx调整和分发)转换到ARM平台。

在旧的代码编写器中,我们经常使用的一个功能是IDE小部件,它可以将某个内存区域显示为位图图像。它有一个属性网格,您可以在其中定义大小,像素格式和步幅方向等内容,以便将内存blob正确地解释为图片。该工具还具有一些不错的功能,如缩放,灰度计数器,线条轮廓,直方图等。

eclipse有类似的东西吗?如果没有,创建一个有多难?我的意思是,为eclipse创建一个从jtag界面中的内存位置获取信息的裸带插件有多难?

4 个答案:

答案 0 :(得分:3)

Gdb可以调用python脚本。如果gdb用于调试,那么请使用它。您可以使用OpenCV或PIL或任何图像库来显示图像。

2014年4月2日更新:

让'data'成为图像的指针。 在gdb里面运行“python data = gdb.parse_and_eval(”data“)”。这将允许访问由数据指向的劣质内存。 例如,“python print(data [35])”将显示“data”的第35个元素。

由于可以在python中读取图像数据,因此可以显示或分析它。

以下链接有助于完成工作:

  1. http://www.cinsk.org/wiki/Debugging_with_GDB:_How_to_create_GDB_Commands_in_Python
  2. https://sourceware.org/gdb/onlinedocs/gdb/Python.html#Python
  3. 注意:请忽略我添加的评论。在写入实际信息之前按Enter键。

    希望这有帮助。

答案 1 :(得分:2)

Eclipse没有这样的功能;就个人而言,我在类似的环境中工作(在DaVinci架构+ Eclipse IDE上进行图像处理)。编写Eclipse插件并不是一项过于复杂的任务 - 有大量的教程(如this one)。但保持它可能会成为一体。我们在QT中引用了Code,因此我们不需要这些功能。但如果你真的想要类似的东西,我想你总是可以在二进制文件中做一个memdump并将帽子解释为图像。只要格式不是任何空间(例如,您正在转储jpeg格式),它应该没问题。

答案 2 :(得分:1)

这对于静态对象来说是一个好主意,但如果您的内存是临时在堆上或堆栈上创建的呢?在动态环境(使用openCV)中,只要在需要将一些buf内容看作图像时使用三行代码并使用Qt进行图像缩放和直方图编码,是不是更容易?

Mat I(h, w, CV_8U, buf);
imshow(“winname”, buf);
waitKey(-1);

我听说openCV highgui模块的最新版本有你所讨论的选项,但我个人认为在动态编程环境中使用它的次数非常有限。然而,我一直在想象数据。此外,我喜欢与我的图像进行交互,例如,在3D中旋转它们,单击并获取值,或标记某个段。我想用特定的插件很难做到这一点。

答案 3 :(得分:0)

我刚发现了这个;尚未尝试过:

https://github.com/cuekoo/GDB-ImageWatch

如果eclipse正在调用gdb,也许有办法......