我认为有一个字段mBuffer
包含图像像素数组。但它是某种内部Android格式,而不是PNG。
问:如何从内存转储中查看此位图表示的图像?
我找到了一种查看此类位图的方法:
位图
对象,右键单击mBuffer
字段,在弹出菜单中选择“复制”-此时您应该已经观察到原始图像的预览。如果没有,您可以尝试在“从原始数据加载图像”对话框中更改其他一些参数。
注意:要获得图像的宽度和高度,您可以查看属性部分MAT中的mWidth
和mHeight
字段,如相关图像所示。
您可以在命令行上使用ImageMagick将内存转储从MAT转换为png。
在MAT
中,对于相关的位图
对象,右键单击mBuffer
字段并选择“复制”-
您需要从mWidth
和mHeight
字段中记录位图宽度和高度,您可以在位图对象中看到。
安装了ImageMagick
命令行工具(对于Ubuntuapt-get install imagemagick
)后,您发出带有以下参数的转换
命令。
convert -size 'width'x'height' -depth 8 filename.rgba filename.png
举个例子
convert -size 680x1209 -depth 8 phone_decor.rgba phone_decor.png
您可以通过eog检查生成的png文件,如eogphone_decor. rgba
在Ubuntu
上很容易。