上一篇文章讲到通过Matlab实现图片隐藏文件,这一篇我使用C#调用Matlab编译的.Net程序集构建了一个小的应用程序。
原理很简单,使用上一篇文章中的Matlab代码,写成两个函数,分别用来隐藏和解析,代码如下:
function saveFileIntoImg(imgFileName,txtFileName)
fid = fopen(txtFileName, 'r');
%c = fread(fid, 5, 'uint8=>char')';
c = fread(fid);%读入文件数据
c=dec2bin(c);%转化为2进制数组
fclose(fid);
img=imread(imgFileName);%打开图片
%figure,imshow(img)
%先存行数到第一位
len1=size(c,1);
length = dec2bin(len1);
for i=1:32
img(i)=bitset(img(i),1,0);
end
for i=(33-size(length,2)):32
img(i)=bitset(img(i),1,str2num(length(i+1-(33-size(length,2)))));
end
%再存列数到第二位
len2=size(c,2);
length = dec2bin(len2);
for i=1:32
img(i)=bitset(img(i),2,0);
e