精华内容
下载资源
问答
  • matlab 读取envi标准格式文件

    热门讨论 2011-03-09 23:20:49
    matlab读取envi标准格式文件,可以读取BIL、BSQ、BIP文件格式
  • matlab读取高光谱影像

    千次阅读 2019-02-21 16:37:00
    1.函数multibandread读取读取多波段二进制影像文件(ENVI主菜单file—save file as—envi standard得到的就是二进制影像文件,有时甚至会看到后缀名为bsq、bil、bip等影像)。 im_hyper = multibandread(filename, ...

     

    1.函数multibandread读取读取多波段二进制影像文件(ENVI主菜单file—save file as—envi standard得到的就是二进制影像文件,有时甚至会看到后缀名为bsq、bil、bip等影像)。

     im_hyper = multibandread(filename, size, precision, offset, interleave, byteorder)

                                                    后附参考代码有实例

           filename: 文件名
           size:图像尺寸和波段数,size = [ 行数 列数 波段数 ]
           precision:读取的图像的数据格式,例如'uint8','uint16','double'等
           offset:偏移(一般为0)
           interleave:存储的图像的数据格式,有 bsq,bil,bip三种格式
           byteorder : 数据存储的字节排列方式,有'ieee-le'(小端),'ieee-be'(大端)
     
    注:precision参数与matlab数据类型相应的关系(FORM https://malagis.com/use-matlab-read-envi-image.html,辛苦博主整理。)
        (

      precision='uint8=>uint8';%头文件中datatype=1对应ENVI中数据类型为Byte,对应MATLAB中数据类型为uint8

      precision='int16=>int16';%头文件中datatype=2对应ENVI中数据类型为Integer,对应MATLAB中数据类型为int16

      precision='uint16=>uint16';%头文件中datatype=12对应ENVI中数据类型为Unsighed Int,对应MATLAB中数据类型为uint16

      precision='int32=>int32';%头文件中datatype=3对应ENVI中数据类型为Long Integer,对应MATLAB中数据类型为int32

      precision='uint32=>uint32';%头文件中datatype=13对应ENVI中数据类型为Unsighed Long,对应MATLAB中数据类型为uint32

      precision='float32=>float32';%头文件中datatype=4对应ENVI中数据类型为Floating Point,对应MATLAB中数据类型为float32

      precision='double=>double';%头文件中datatype=5对应ENVI中数据类型为Double Precision,对应MATLAB中数据类型为double

     
    2. 如果是.tif格式的图像,可先使用envi将其转化为envi standard 格式,然后使用enviread读取
    ENVI软件标准格式的高光谱遥感图像含有两部分:
      一个是高光谱图像 '*.img ',
      另一个是遥感图像头文件 '*.hdr',该文件记录了遥感图像的信息,如图像尺寸、波段数、数据类型和大小端等。如果缺少头文件,将无法对遥感图像进行读取
    读取代码:来源:https://malagis.com/use-matlab-read-envi-image.html, 亦可参考:http://blog.sina.com.cn/s/blog_16ecb33400102ybql.html
    function data=read_ENVIimagefile(imgfilename)
    %本函数读取img格式,前提是img图像显式带有'.img'后缀名。
    if length(imgfilename)>=4
    switch strcmp(imgfilename(length(imgfilename)-3:end), '.img')
    case 0
    hdrfilename=strcat(imgfilename, '.hdr');
    case 1
    hdrfilename=strcat(imgfilename(1: (length(imgfilename)-4)), '.hdr');
    end
    else
    hdrfilename=strcat(imgfilename, '.hdr');
    end
    %读取ENVI标准格式图像文件
    %读取图像头文件
    fid = fopen(hdrfilename, 'r');
    info = fread(fid,'char=>char');
    info=info';%默认读入列向量,须要转置为行向量才适于显示
    fclose(fid);
    %查找列数
    a=strfind(info,'samples = ');
    b=length('samples = ');
    c=strfind(info,'lines');
    samples=[];
    for i=a+b:c-1
    samples=[samples,info(i)];
    end
    samples=str2num(samples);
    %查找行数
    a=strfind(info,'lines = ');
    b=length('lines = ');
    c=strfind(info,'bands');
    lines=[];
    for i=a+b:c-1
    lines=[lines,info(i)];
    end
    lines=str2num(lines);
    %查找波段数
    a=strfind(info,'bands = ');
    b=length('bands = ');
    c=strfind(info,'header offset');
    bands=[];
    for i=a+b:c-1
    bands=[bands,info(i)];
    end
    bands=str2num(bands);
    %查找数据类型
    a=strfind(info,'data type = ');
    b=length('data type = ');
    c=strfind(info,'interleave');
    datatype=[];
    for i=a+b:c-1
    datatype=[datatype,info(i)];
    end
    datatype=str2num(datatype);
    precision=[];
    switch datatype
    case 1
    precision='uint8=>uint8';%头文件中datatype=1对应ENVI中数据类型为Byte,对应MATLAB中数据类型为uint8
    case 2
    precision='int16=>int16';%头文件中datatype=2对应ENVI中数据类型为Integer,对应MATLAB中数据类型为int16
    case 12
    precision='uint16=>uint16';%头文件中datatype=12对应ENVI中数据类型为Unsighed Int,对应MATLAB中数据类型为uint16
    case 3
    precision='int32=>int32';%头文件中datatype=3对应ENVI中数据类型为Long Integer,对应MATLAB中数据类型为int32
    case 13
    precision='uint32=>uint32';%头文件中datatype=13对应ENVI中数据类型为Unsighed Long,对应MATLAB中数据类型为uint32
    case 4
    precision='float32=>float32';%头文件中datatype=4对应ENVI中数据类型为Floating Point,对应MATLAB中数据类型为float32
    case 5
    precision='double=>double';%头文件中datatype=5对应ENVI中数据类型为Double Precision,对应MATLAB中数据类型为double
    otherwise
    error('invalid datatype');%除以上几种常见数据类型之外的数据类型视为无效的数据类型
    end
    %查找数据格式
    a=strfind(info,'interleave = ');
    b=length('interleave = ');
    c=strfind(info,'sensor type');
    interleave=[];
    for i=a+b:c-1
    interleave=[interleave,info(i)];
    end
    interleave=strtrim(interleave);%删除字符串中的空格
    %读取图像文件
    fid = fopen(imgfilename, 'r');
    data = multibandread(imgfilename ,[lines, samples, bands],precision,0,interleave,'ieee-le');
    data= double(data);
    end
     

    转载于:https://www.cnblogs.com/shyzh/p/10413503.html

    展开全文
  • 函数multibandread读取读取多波段二进制影像文件(ENVI主菜单file—save file as—envi standard得到的就是二进制影像文件,有时甚至会看到后缀名为bsq、bil、bip等影像)。  im_hyper = multibandread...

    在做高光谱实验时,会涉及到读取数据,以下第一种实测有效

     

    1.函数multibandread读取读取多波段二进制影像文件(ENVI主菜单file—save file as—envi standard得到的就是二进制影像文件,有时甚至会看到后缀名为bsq、bil、bip等影像)。

     im_hyper = multibandread(filename, size, precision, offset, interleave, byteorder)

                                                    后附参考代码有实例

           filename: 文件名
           size:图像尺寸和波段数,size = [ 行数 列数 波段数 ]
           precision:读取的图像的数据格式,例如'uint8','uint16','double'等
           offset:偏移(一般为0)
           interleave:存储的图像的数据格式,有 bsq,bil,bip三种格式
           byteorder : 数据存储的字节排列方式,有'ieee-le'(小端),'ieee-be'(大端)
     
    注:precision参数与matlab数据类型相应的关系(FORM  https://malagis.com/use-matlab-read-envi-image.html,辛苦博主整理。)
        (

      precision='uint8=>uint8';%头文件中datatype=1对应ENVI中数据类型为Byte,对应MATLAB中数据类型为uint8

      precision='int16=>int16';%头文件中datatype=2对应ENVI中数据类型为Integer,对应MATLAB中数据类型为int16

      precision='uint16=>uint16';%头文件中datatype=12对应ENVI中数据类型为Unsighed Int,对应MATLAB中数据类型为uint16

      precision='int32=>int32';%头文件中datatype=3对应ENVI中数据类型为Long Integer,对应MATLAB中数据类型为int32

      precision='uint32=>uint32';%头文件中datatype=13对应ENVI中数据类型为Unsighed Long,对应MATLAB中数据类型为uint32

      precision='float32=>float32';%头文件中datatype=4对应ENVI中数据类型为Floating Point,对应MATLAB中数据类型为float32

      precision='double=>double';%头文件中datatype=5对应ENVI中数据类型为Double Precision,对应MATLAB中数据类型为double

     
    2. 如果是.tif格式的图像,可先使用 envi将其转化为envi standard 格式,然后使用enviread读取
    ENVI软件标准格式的高光谱遥感图像含有两部分:
      一个是高光谱图像 '*.img ',
      另一个是遥感图像头文件 '*.hdr',该文件记录了遥感图像的信息,如图像尺寸、波段数、数据类型和大小端等。如果缺少头文件,将无法对遥感图像进行读取

    读取代码:来源:
    https://malagis.com/use-matlab-read-envi-image.html, 亦可参考:http://blog.sina.com.cn/s/blog_16ecb33400102ybql.html

    function data=read_ENVIimagefile(imgfilename)
    %本函数读取img格式,前提是img图像显式带有’.img’后缀名。
    if length(imgfilename)>=4
    switch strcmp(imgfilename(length(imgfilename)-3:end), ‘.img’)
    case 0
    hdrfilename=strcat(imgfilename, ‘.hdr’);
    case 1
    hdrfilename=strcat(imgfilename(1: (length(imgfilename)-4)), ‘.hdr’);
    end
    else
    hdrfilename=strcat(imgfilename, ‘.hdr’);
    end
    %读取ENVI标准格式图像文件
    %读取图像头文件
    fid = fopen(hdrfilename, ‘r’);
    info = fread(fid,‘char=>char’);
    info=info’;%默认读入列向量,须要转置为行向量才适于显示
    fclose(fid);
    %查找列数
    a=strfind(info,'samples = ');
    b=length('samples = ');
    c=strfind(info,‘lines’);
    samples=[];
    for i=a+b:c-1
    samples=[samples,info(i)];
    end
    samples=str2num(samples);
    %查找行数
    a=strfind(info,'lines = ');
    b=length('lines = ');
    c=strfind(info,‘bands’);
    lines=[];
    for i=a+b:c-1
    lines=[lines,info(i)];
    end
    lines=str2num(lines);
    %查找波段数
    a=strfind(info,'bands = ');
    b=length('bands = ');
    c=strfind(info,‘header offset’);
    bands=[];
    for i=a+b:c-1
    bands=[bands,info(i)];
    end
    bands=str2num(bands);
    %查找数据类型
    a=strfind(info,'data type = ');
    b=length('data type = ');
    c=strfind(info,‘interleave’);
    datatype=[];
    for i=a+b:c-1
    datatype=[datatype,info(i)];
    end
    datatype=str2num(datatype);
    precision=[];
    switch datatype
    case 1
    precision=‘uint8=>uint8’;%头文件中datatype=1对应ENVI中数据类型为Byte,对应MATLAB中数据类型为uint8
    case 2
    precision=‘int16=>int16’;%头文件中datatype=2对应ENVI中数据类型为Integer,对应MATLAB中数据类型为int16
    case 12
    precision=‘uint16=>uint16’;%头文件中datatype=12对应ENVI中数据类型为Unsighed Int,对应MATLAB中数据类型为uint16
    case 3
    precision=‘int32=>int32’;%头文件中datatype=3对应ENVI中数据类型为Long Integer,对应MATLAB中数据类型为int32
    case 13
    precision=‘uint32=>uint32’;%头文件中datatype=13对应ENVI中数据类型为Unsighed Long,对应MATLAB中数据类型为uint32
    case 4
    precision=‘float32=>float32’;%头文件中datatype=4对应ENVI中数据类型为Floating Point,对应MATLAB中数据类型为float32
    case 5
    precision=‘double=>double’;%头文件中datatype=5对应ENVI中数据类型为Double Precision,对应MATLAB中数据类型为double
    otherwise
    error(‘invalid datatype’);%除以上几种常见数据类型之外的数据类型视为无效的数据类型
    end
    %查找数据格式
    a=strfind(info,'interleave = ');
    b=length('interleave = ');
    c=strfind(info,‘sensor type’);
    interleave=[];
    for i=a+b:c-1
    interleave=[interleave,info(i)];
    end
    interleave=strtrim(interleave);%删除字符串中的空格
    %读取图像文件
    fid = fopen(imgfilename, ‘r’);
    data = multibandread(imgfilename ,[lines, samples, bands],precision,0,interleave,‘ieee-le’);
    data= double(data);
    end

    展开全文
  • 使用MATLAB读取分析ros记录的.bag文件

    千次阅读 2019-03-01 15:04:28
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////一定要...设置主机IP setenv('ROS_MASTER_...

    /一定要关闭所有的防火墙

     

    设置主机IP

    setenv('ROS_MASTER_URI','http://192.168.43.241;11311')

    设置本机节点ip

    setenv('ROS_IP','192.168.43.82')

    初始化主机

    rosinit('http://192.168.43.241:11311')

    初始化成功显示:The value of the ROS_IP environment variable, 192.168.43.82, will be used to set the advertised address for the ROS node.

    Initializing global node /matlab_global_node_31245 with NodeURI http://192.168.43.82:10300/

    测试节点

    rosnode list

    读取bag文件

    filepath=fullfile('c:','2019-03-01-21-54-57.bag')

    bag=rosbag(filepath)

    读取bag中指定的信息,这里读取的是odom

    odom_message=select(bag,'MessageType','nav_msgs/Odometry')

    data=readMessages(odom_message)

    读取坐标

    position=zeros(180,3);

    for i=1:180

    position(i,1)=data{i,1}.Pose.Pose.Position.X;

    position(i,2)=data{i,1}.Pose.Pose.Position.Y;

    position(i,3)=data{i,1}.Pose.Pose.Position.Z;

    end

    画三维图

    for i=1:180

    plot3(position(i,1),position(i,2),position(i,3),'r.','markersize',5);

    hold on

    end

    画二维图

    for i=1:180

    plot(position(i,1),position(i,2),'r.','markersize',5);

    hold on

    end

     

    //一定要关闭所有的防火墙

    展开全文
  • 2:实现MATLAB读取IP摄像头: 修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_...
  • 标题:MATLAB-Vivado FIR IP核低通滤波 学习目标: MATLAB中产生有两个频率信号数据的txt文本=>vivado在testbench中读取txt文本=>调用FIR低通滤波器IP核(32bits_to_32bits)滤去信号的高频分量=>将IP核...

    标题:MATLAB-Vivado FIR IP核低通滤波

    学习目标:

    MATLAB中产生有两个频率信号数据的txt文本=>vivado在testbench中读取txt文本=>调用FIR低通滤波器IP核(32bits_to_32bits)滤去信号的高频分量=>将IP核输出信号通过txt文本输出=>用MATLAB对输出信号处理,观察时域频域波形

    学习内容:

    1、MATLAB中产生有两个频率信号数据的txt文本

    FIR_data_in_32bits.m

    clc
    clear all
    close all
    f1 = 0.5; %信号1频率为500kHz
    f2 = 5; %信号2频率为5MHz
    Fs = 32; %采样频率为32MHz
    N = 16;%量化位数
    
    %产生信号
    t = 0:1/Fs:5;
    c1 = 2*pi*f1*t;
    c2 = 2*pi*f2*t;
    
    s1 = sin(c1); %产生正弦波
    s2 = sin(c2); %产生正弦波
    s  = s1 + s2; %产生两个单载波合成后的信号
    
    s = s/max(abs(s));
    figure(1)
    plot(s);
    xlabel('时域(采样点)');
    ylabel('幅度');
    
    s_fft=fft(s,161*5);     %对回波信号进行快速傅里叶变换到频域
    
    figure(2)
    plot(abs(s_fft)); 
    xlabel('频域(采样点)');
    ylabel('幅度');
    
    figure(3)
    plot(20*log10(abs(s_fft))); 
    
    % 量化取整
    lfm=round(2147483647*s);   %最大为2147483647,量化为32位
    
    lfm(find(lfm<0))=lfm(find(lfm<0))+4294967296;  %为何加4294967296,把负数转化为其补码对应的数
    gen_data_file_bin(lfm,'D:\Desktop\FIR_32bits_to_32bits\MATLAB\in_data.txt');
    

    gen_data_file_bin.m

    function gen_data_file_bin(data,fileName)
    %% Introduction 
    % 功能:用于产生ModelSim仿真时,可被Verilog程序读取的数据文件
    %
    % 说明:data 为输入数据的一维矩阵
    %
    %% Code
    num_data = numel(data);
    fid = fopen(fileName,'w');
    for i = 1:num_data
        fprintf(fid,'%s\r\n',dec2bin(data(i),32));%x\r\n',data(i));
    end
    fclose(fid);
    end
    

    vivado中FIR滤波器核设置
    https://blog.csdn.net/DengFengLai123/article/details/103916036

    重要或需要更改的内容如下

    在这里插入图片描述
    2、
    在这里插入图片描述

    利用MATLAB中的FDAtools设置FIR低通滤波器(主要为了得到滤波器的参数,及最后生成的coe文件,供上一步滤波器核设置里面要用到)
    https://blog.csdn.net/DengFengLai123/article/details/103890404

    重要或需要更改的内容如下

    1、
    在这里插入图片描述
    低通(Lowpass),FIR滤波器,窗函数设计(Window),采用布莱克曼窗(Blackman),99阶(会有100个系数,这个是固定的,N阶FIR需要N+1个系数),抽样频率32MHz,通带频率1.5MHz,使用窗函数时截止频率不需要设定,选定的窗函数和阶数已经限定了截止频率。

    2、
    在这里插入图片描述
    使用32位的滤波器参数,定点数表示。
    点击左侧第三个框,进行参数量化,在FPGA中计算浮点数是很麻烦的事情,并且浮点数的操作在射频输出时会影响功放性能,此处设置为定点数(一般都是设为定点数处理,设成浮点数可以试一下,是无法导出为Xilinx设计所需的.coe文件)。这里进行量化时就会引入量化误差,位数越少误差越大,但是位数越多在FPGA硬件中所需的资源也越多,设计中也是需要综合考虑,此处选择32位定点数量化(Fixed-point)。
    在这里插入图片描述
    如上图所示,量化为32位后滤波器的幅频响应要好很多

    3、导出参数
    (1)导出参数到matlab
    回到设计界面(不回去也不影响导出参数,此处为了更方便观看滤波器的参数),再点击 Export,即可导出参数到 matlab,导出一个名为 Num 的数组,名字可以自己修改,在命令行输入 Num 再回车即可观察系数。

    (2)导出参数到Xilinx的存储文件(.coe文件)
    点击 Targets -> XILINX Coeffient(.coe) File,

     导出的参数共有 100 个,可以发现这样设计出来的时对称结构的FIR滤波器,第一个参数和第 100 个参数一样,第 2 个和第 99 个一样,依次对应。
    

    在这里插入图片描述

    vivado_testbench编写(一定注意在读txt文本和写txt文本时用斜杠,不是反斜杠,直接复制windows的路径是反斜杠,所以要改,否则造成的最直接的问题就是数据读不进去,vivado软仿后输入数据是红×)

    `timescale 1ns / 1ps
    //
    // Company: 
    // Engineer: 
    // 
    // Create Date: 2020/09/01 17:27:05
    // Design Name: 
    // Module Name: fir_ip_tb
    // Project Name: 
    // Target Devices: 
    // Tool Versions: 
    // Description: 
    // 
    // Dependencies: 
    // 
    // Revision:
    // Revision 0.01 - File Created
    // Additional Comments:
    // 
    //
    
    module fir_ip_tb();
    
    reg clk;
    wire data_in_ready;
    reg [31:0] data_in;
    wire data_out_valid;
    wire [31:0] data_out;
    
    FIR_32bits_to_32bits_wrapper U1_FIR_32bits_to_32bits_wrapper
    (
      .aclk_0(clk),
      .S_AXIS_DATA_0_tdata(data_in),
      .S_AXIS_DATA_0_tready(data_in_ready),
      .S_AXIS_DATA_0_tvalid(1'b1),
    
      .M_AXIS_DATA_0_tdata(data_out),
      .M_AXIS_DATA_0_tvalid(data_out_valid)
      
    );
    
    initial begin
        clk = 0;
    end
    
    always #16 clk = ~clk;
    
    //从外部txt文件读入数据作为测试激励
    parameter data_num = 64;
    integer Pattern;
    reg [31:0] stimulus[1:data_num];
    initial
    begin
        $readmemb("D:/Desktop/FIR_32bits_to_32bits/MATLAB/in_data.txt",stimulus,1,data_num);//读取txt文本数据,注意斜杠方向
        Pattern = 0;
        repeat(30) begin
            repeat(data_num) begin
                Pattern = Pattern + 1;
                data_in = stimulus[Pattern];
                #32;
            end
            Pattern = 0;
        end
        #500;
        $stop;
    end 
    
    integer file_out;
    initial
    begin
        file_out = $fopen("D:/Desktop/FIR_32bits_to_32bits/MATLAB/FIR_out.txt");//写txt文本数据,注意斜杠
        if (!file_out) begin
            $display("can't open file");
            $finish;
        end
    end            
    
    wire signed [31:0] dout_s = data_out;
    wire rst_write = clk & data_out_valid;         //data_out_valid有效时写入数据
    always @ (posedge rst_write)   
        $fdisplay(file_out, "%d", dout_s);
    
    
    `define dump_level 10  
    //module dump_task;  
    initial begin#1; //延迟1ns记录,方便与其他仿真动作协调  
        `ifdef VCS_DUMP //Synopsys VCD+格式存储  
        $display("Start Recording Waveform in VPD format!");  
        $vcdpluson();  
        $vcdplustraceon;  
        `endif  
         
        `ifdef FSDB_DUMP //Synopsys fsdb格式存储  
        $display("Start Recording Waveform in FSDB format!");  
        $fsdbDumpfile("dump.fsdb");  
        $fsdbDumpvars('dump_level);  
        `endif  
         
         
        `ifdef NC_DUMP//cadence 格式存储  
        $recordsetup("dump","version=1","run=1","directory=.");  
        $recordvars("depth=6");  
        `endif  
         
        `ifdef VCD_DUMP//工业标准VCD格式存储  
        $display("Start Recording Waveform in VCD format!");  
        $dumpfile("dump.vcd");  
        $dumpvars('dump_level);  
        `endif  
    end 
    
    endmodule
    
    

    MATLAB读取FIR IP核出来的数据并做时域频域分析FIR_out_read_32bits.m

    clc
    clear all
    close all
    
    fid=fopen('D:\Desktop\FIR\FIR_out.txt','r');                 %以读的方式打开
    read_data = fscanf(fid,'%ld\n');                   %以10进制的方式读进来
    fclose(fid);                                      %关闭文件
    
    read_data = double(read_data);
    read_data1 = read_data/2147483647.0; %max(abs(read_data))
    figure(1)
    plot(read_data1);
    xlabel('时域(采样点)');
    ylabel('幅度');
    xlabel('频域(采样点)');
    ylabel('幅度');
    
    read_data_fft=fft(read_data1,1878*2);     %对回波信号进行快速傅里叶变换到频域
    figure(2)
    plot(abs(read_data_fft)); 
    
    figure(3)
    plot(20*log10(abs(read_data_fft))); 
    

    学习时间:

    2020/9/4 上午

    学习产出:

    完成了FIR IP核32bits到32bits的设计,以及从txt文本读入信号,在输出信号写入到txt文本中

    FIR_data_in_32bits.m生成的图

    两个正弦信号相加的时域波形图
    在这里插入图片描述
    两个正弦信号相加的频域波形图
    在这里插入图片描述
    两个正弦信号相加的频域dB图
    在这里插入图片描述

    vivado中编写testbench软仿得出来的导入信号图以及滤波后的单频信号图

    在这里插入图片描述

    vivado输出信号导出后经matlab分析后的信号图

    经滤波器滤波后剩余的信号时域图
    在这里插入图片描述
    经滤波器滤波后剩余的信号频域图
    在这里插入图片描述
    经滤波器滤波后剩余的信号频域dB图
    在这里插入图片描述

    学习重要点总结

    (1)当导出的信号出现顶部失真时,但vivado软仿的信号图形没问题,则可推断问题出在txt文本数据写入或者MATALAB读取txt文本时会出现问题,信号表示位数及范围,数据精度,输入输入的数据格式都会产生数据不一致到时图形不对的情况。**

    发现的问题

    **输入信号的量化到底该怎么做,从原理上分析下,按道理来说输出信号除以2147483647.0后应该小于1,但信号有大于2的值,应详细分析下(1)信号值的量化原理,以及(2)数的表示范围问题

    展开全文
  • 举个例子,我要批量修改某...fileFolder=fullfile('E:\caffe\SegNet_ip\CamVid\test');%读取图片路径 dirOutput=dir(fullfile(fileFolder,'*.jpg'));%读取文件夹里面文件 OtpDir = 'E:\test';%输出路径 fileNames = {di
  • 2:实现MATLAB读取IP摄像头: 修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_...
  • 2:实现MATLAB读取IP摄像头: 修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_...
  • 2:实现MATLAB读取IP摄像头: 修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_...
  • 2:实现MATLAB读取IP摄像头: 修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_...
  • 2:实现MATLAB读取IP摄像头: 修改了urlwrite函数,改成urlwrite_basicauth。原因是一般IP camera需要用户名和密码,而现有的imread不能提供用户名和密码。修改了MATLAB图像工具箱里自带的imread函数,改成imread_...
  • Quartus Rom IP读取正弦波为0 用MATLAB创建mif文件正弦波(https://www.cnblogs.com/xiaomeige/p/8847043.html),仿真时输出一直为0,地址和计数器均正常,如图所示 读取mif文件时 输出q值一直为0。 解决办法:...
  • matlab开发-HebiRoboticsHebiCam。从实时视频流读取图像(IP摄像头、USB摄像头、H264、MJPEG等)
  • Matlab TCP UDP通信

    2019-11-14 08:20:47
    通过 TCP/IP 接口读取和写入数据 函数 tcpclient 创建 TCP/IP 客户端对象以通过 TCP/IP 进行通信 read 通过 TCP/IP 读取远程主机上的数据 write 通过 TCP/IP 向远程主机写入数据 ...
  • matlabCode合集

    2019-03-05 12:45:22
    开发Matlab客户端 - 服务器应用程序,其中客户端应用程序与服务器端应用程序建立TCP / IP连接以发送压缩的灰度图像。客户端应用程序应在读取映像源文件之后并在将其发送到服务器端应用程序之前,对映像的每个8×8块...
  • ad9461调试(matlab)

    2019-04-26 18:58:55
    用chipscope抓取ad9461频谱变换后的实部虚部,导出并通过matlab读取txt文件进行频谱计算,分别对10M,20M,30M的正弦信号作了采集变换并绘制频谱图,结果如下: 那么问题来了 30M的信号为什么试了几次,频谱...
  • 很多EDA软件都需要.mif文件,比如使用Quartus 调用ROM IP核产生一个正弦波就需要对ROM IP核加载.mif文件,然后从.mif文件中读取数据产生正弦波。接下来就说一下如何用MATLAB生成.mif文件和如何产生正弦波数据吧。 ...
  • matlab中TCP通信的相关函数

    千次阅读 2019-05-07 10:50:43
    matlab中TCP的通信常用属性介绍 下面是tcpip的属性: ...InputBufferSize: 默认情况下,TCP/IP对象的InputBufferSize为512,这意味着它一次只能读取512字节,可以设置为更大的值。 OutputBufferSize: OutputBuf...
  • MATLAB tcpip发送和接收文件

    万次阅读 2016-07-26 17:09:00
    发送方为server,接收方为client,建立TCP链接。...%SENDFILE 读取文件并发送出去 % filename:文件名 % ip:目的主机的ip地址 %% 先打开文件 fid = fopen(filename ,'rb'); if( fid) fprintf('打开失败!\n');
  • 遥感数字图像处理(内含Matlab)代码

    热门讨论 2013-01-25 13:08:15
    1 读取BIP 、BIL、 BSQ文件 2 均值滤波 中值滤波 3 边缘信息提取 4 DFT FFT 5 主成分变换 6 缨帽变换 7 图像分类(K—均值分类、最小距离分类、最大似然分类) 8 大气校正 反射率 地表温度的反演 9 Habib教授课程...
  • MATLAB中三维数组转二维的方法 一、写该程序的初衷 在处理时间序列遥感数据的时候,我之前的做法是: 将时间序列数据读取为三维矩阵; 将该数据保存为BIP格式; 在每个像元上进行循环,取出其第三维(比如有46景...
  • Xilinx FFT ip核使用例程

    千次阅读 热门讨论 2020-04-06 17:12:21
    近来开展FFT相关的研究,尝试了一下Xilinx 的FFT IP核,再此分享一下;...MATLAB生成模拟的正弦波并保存在.coe文件中--> 实例化一个Block Memory generator 单口ROM读取.coe文件--> 建立Testbench读取RO...
  • 线性调频信号FFT与之前的8点、32点FFT在IP核的使用方面并没有什么不同;唯一需要注意的就是仿真中线性调频信号如何产生,如何读取到vivado,以及数据位宽。此处以Matlab生成数据,导入到Vivado进行处理,并不代表...
  • 前段时间在做实验的时候,需要在Simulink中读取M文件中的数据。一般来说Simulink中的数据,只有在程序运行完之后,才会把数据存入工作区间,这个时候,如果我们需要在程序运行的过程中和Simulink交换数据,就需要...
  • 大致流程:通过MATLAB提取图像RGB数据分别存入三个.mif文件。...首先讲解MATLAB如何读取图片: A=imread('C:\Users\Administrator\Desktop\flower.bmp')%读取图像,通过画图工具修改合适分辨率和格式 fide=fo...
  • 大致流程:通过MATLAB提取图像RGB数据分别存入三个.mif...首先讲解MATLAB如何读取图片: A=imread('C:\Users\Administrator\Desktop\flower.bmp')%读取图像,通过画图工具修改合适分辨率和格式 fide=fopen('rgb...
  • 在家无聊之玩玩python系列

    千次阅读 2020-03-06 14:23:35
    检测是否到了规定时间,爬取网站图片,生成自己的IP池,opencv读取文件夹中的图片,opencv使用手机摄像头,matlab使用手机摄像头,爬虫百度翻译、百度百科,爬虫疫情状况,python发短信,防止微信机器人掉线(测试中...
  • java写的一个实时数据发送助手

    千次阅读 2016-11-14 16:55:28
    项目中需要与中控的软件链接并实时的读取出数据库中的值。但是实验室的很多算法都是用matlab写的,但是,中控给出的只有java和c的接口,因此首先得写一个中间链接数据和程序的小程序,使得数据可以实时的流入我们的...

空空如也

空空如也

1 2
收藏数 37
精华内容 14
关键字:

matlab读取ip

matlab 订阅