在工作中,我们拥有丰富的经验,使用旧版本的代码编写器(CC 3.3)为TI DSP平台开发图像处理应用程序。我们正在使用Eclipse(由Xilinx调整和分发)转换到ARM平台。
在旧的代码编写器中,我们经常使用的一个功能是IDE小部件,它可以将某个内存区域显示为位图图像。它有一个属性网格,您可以在其中定义大小,像素格式和步幅方向等内容,以便将内存blob正确地解释为图片。该工具还具有一些不错的功能,如缩放,灰度计数器,线条轮廓,直方图等。
eclipse有类似的东西吗?如果没有,创建一个有多难?我的意思是,为eclipse创建一个从jtag界面中的内存位置获取信息的裸带插件有多难?
答案 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中读取图像数据,因此可以显示或分析它。
以下链接有助于完成工作:
注意:请忽略我添加的评论。在写入实际信息之前按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)