转换图像为一个c++头文件

15次浏览(最近30天)
Thilina Prasanga Doremure Gamage
回答: Saipraveen 2019年9月30日
你好,
我是一个Matlab编程的新手。你们能告诉我在matlab中如何将一个图像文件转换成一个c++头文件吗?我发现了一个脚本,我怀疑它可能做的工作,但不能让它工作。:/
脚本如下所示;
函数export_Img_2_Header(img, filename)
这个函数的摘要在这里
这里有详细的解释
sizeArray =元素个数(img);
文件标识= fopen(文件名,' w ');
流(文件标识,“头\ n / /形象”);
流(文件标识,'unsigned char img[%d] = {', sizeArray);
img_sq =重塑(img,[1 sizeArray]);
idx = 1:元素个数(img_sq)
val = img_sq (idx);
如果idx ~ = sizeArray
流(文件标识,“% d”,, val);
其他的
流(文件标识,' % d ', val);
结束
结束
流(文件标识,“};\ n”);
文件关闭(文件标识);
结束
1评论
1月
1月 2019年3月14日
请提一下,"can't get it to work"是什么意思。代码看起来不错,所以我猜你叫错了。

登录评论。

答案(2)

1月
1月 2019年3月14日
编辑:1月 2019年3月14日
也许这有帮助-更聪明的没有循环:
函数export_Img_2_Header(img, filename)
% EXPORT_IMG_2_HEADER创建c++头文件包含图像数据
[fileID, msg] = fopen(filename,' W ');
如果文件标识= = 1
错误('无法打开文件写入:%s, %s'文件名,味精);
结束
%可能:
img = im2uint8 (img);
n =元素个数(img);
流(文件标识,// Image on header\nunsigned char img[%d] = {'n);
流(文件标识,“% d”,img (1: n - 1));
流(文件标识,“% d}; \ n”img (n));
文件关闭(文件标识);
结束
1评论
Thilina Prasanga Doremure Gamage
嗨,简,
非常感谢你的快速回复:)我对这真的很陌生。首先,我尝试将映像放入名为img的变量中,然后运行脚本。我不知道这个脚本如何调用映像。你能解释一下吗?抱歉,我知道这是愚蠢的,但我试图学习图像处理通过遵循教程。

登录评论。


Saipraveen
Saipraveen 2019年9月30日
在这个文件交换- //www.tianjin-qmedu.com/matlabcentral/fileexchange/72535-image-to-c-c-array-converter ,我已经写了一个脚本来生成一个C/ c++数组,它可以保存为一个头文件,用于各种嵌入式显示。
希望有帮助。

标签

s manbetx 845


释放

R2018b

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!