如何用MATLAB设置文件的名称?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用MATLAB设置文件的名称?相关的知识,希望对你有一定的参考价值。

参考技术A

在MATLAB中,title函数用来为图像设置标题,其中,title函数也可以设置标题的大小,位置等。

例如,用下列程序在MATLAB中画一个正弦函数,并设置不同的title位置:

t=0:0.1:10;y=sin(t);

plot(t,y);

title('sin函数','position',[5,1])

画出的图像如下:

然后重新改变位置,输入程序:title('sin函数','position',[5,0])

通过改变程序中[5,0]的数值就可以改变title的位置。

扩展资料

通过下面程序还可以改变title字体大小,在MATLAB中输入:title('sin函数','Fontsize',16),改变数字‘16’就可改变字体大小。

如何用matlab可视化二进制文件,如图像?

【中文标题】如何用matlab可视化二进制文件,如图像?【英文标题】:how can visualizing binary file like image with matlab? 【发布时间】:2017-04-11 08:56:29 【问题描述】:

我需要像图像一样可视化二进制文件(例如 .exe) 这段代码将字节打包成 c# 语言的图像:

var width = (int)Math.Sqrt(fi.Length * 8);
width = width + 8 - (width % 8);
var length = (int)(fi.Length * 8 / width);

Func<byte, int, Color> getcolor =
        (b, m) => (b & m) == m ? Color.Black : Color.White;

using (var bitmap = new Bitmap(width, length + 1))

    var buffer = File.ReadAllBytes(exefile);

    int x = 0, y = 0;
    foreach (var @byte in buffer)
    
        bitmap.SetPixel(x + 0, y, getcolor(@byte, 0x80));
        bitmap.SetPixel(x + 1, y, getcolor(@byte, 0x40));
        bitmap.SetPixel(x + 2, y, getcolor(@byte, 0x20));
        bitmap.SetPixel(x + 3, y, getcolor(@byte, 0x10));

        bitmap.SetPixel(x + 4, y, getcolor(@byte, 0x8));
        bitmap.SetPixel(x + 5, y, getcolor(@byte, 0x4));
        bitmap.SetPixel(x + 6, y, getcolor(@byte, 0x2));
        bitmap.SetPixel(x + 7, y, getcolor(@byte, 0x1));

        x += 8;
        if (x >= width)
        
            x = 0;
            y++;
        
    

    bitmap.Save(Path.ChangeExtension(exefile, ".tif"), ImageFormat.Tiff);

此代码将二进制文件转换为图像,如下所示:

谁能给我这段代码的 Matlab 实现?

【问题讨论】:

可以上传二进制文件吗? @JeruLuke file-upload.com/eztinwfv1700 【参考方案1】:

How can I convert a binary file to another binary representation, like an image

%Matlab 有函数 bitget 可以做你想做的事。然后你需要把所有的位放在一个方阵中。

[f,d]=uigetfile('*.*');
fid=fopen([d,filesep,f],'r');
d = fread(fid,inf,'*uint8'); %load all data as bytes.
fclose(fid);
width = sqrt(length(d)*8);
width = width+8-mod(width,8); %make sure width is a multiple of 8
IM = false(width); %binary matrix
x=1;y=1;
for ct = 1:length(d)
    v=bitget(d(ct),[1:8]);
    IM(x:x+7,y)=v;
    x=x+8;
    if x>width
        x=1;y=y+1;
    end
end
imagesc(IM) %display image

【讨论】:

它的工作,但为什么生成的图像在 c# 和 matlab 中不同? 会不会是旋转了90度?试试这个:imagesc(IM') 如何改变背景和像素颜色?图像背景可能为黑色,像素为白色。 两个选项。更改颜色图,或更改位值。最简单的是 imagesc(~IM) (波浪号是非运算符,所以它翻转位)

以上是关于如何用MATLAB设置文件的名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab实现双y坐标的绘图,以及控制两个Y坐标轴的名称

如何用matlab读取excel数据

在matlab编程怎么把图像的名称放到图像下面

如何用MATLAB 编写interpl插值函数

如何用MATLAB把bmp格式变成灰度图像

如何用7 zip压缩和解压文件