精华内容
下载资源
问答
  • 图像分块MATLAB程序

    2017-11-30 19:49:32
    将任一图像进行分块,默认为灰度图像,如需处理彩色图像,加入三通道分量即可。适用于MATLAB,另外,请记得更改图片读取路径!如需m*n,再设一个行参数m即可。
  • 数字图像处理DCT矩阵分块变换matlab程序 数字图像处理DCT矩阵分块变换matlab程序 数字图像处理DCT矩阵分块变换matlab程序 数字图像处理DCT矩阵分块变换matlab程序
  • 分块dct 的matlab程序

    热门讨论 2012-05-21 10:40:56
    分块dct的matlab程序,很实用,很经典的一个程序,对于初学者很有帮组
  • 有关大矩阵分块乘法的实现,matlab代码实现
  • 用于图像的分块
  • 图像分块 matlab程序

    2014-12-16 09:50:00
    看到不少网友,浏览了之前写读的图像分块简单版,现在将之前写的复杂版也贡献与大家一起学习、讨论。 clear,clc; [filename,filepath] = uigetfile('*.*','Select the image'); if isequal(filename,0)||...

    看到不少网友,浏览了之前写读的图像分块简单版,现在将之前写的复杂版也贡献与大家一起学习、讨论。

    clear,clc;
    [filename,filepath] = uigetfile('*.*','Select the image');  
    if isequal(filename,0)||isequal(filepath,0)
        return;
    else
       filefullpath=[filepath,filename];
    end
    %得到文件名,以便建立一个文件夹保存分块图像
    [pathstr,name,ext] = fileparts(filename);
    Im=imread(filefullpath);
    % imshow(Im)
    L = size(Im);
    %分块大小
    height=300;
    width=400;
    %重叠
    x=0.25;
    h_val=height*(1-x);
    w_val=width*(1-x);
    max_row = (L(1)-height)/h_val+1;
    max_col = (L(2)-width)/w_val+1;
    %判断能否完整分块
    if max_row==fix(max_row)%判断是否能够整分
        max_row=max_row;
    else
        max_row=fix(max_row+1);
    end
    if max_col==fix(max_col)%判断是否能够整分
        max_col=max_col;
    else
        max_col=fix(max_col+1);
    end
    seg = cell(max_row,max_col);
    for row = 1:max_row      
        for col = 1:max_col        
            if ((width+(col-1)*w_val)>L(2)&&((row-1)*h_val+height)<=L(1))%判断最右边不完整的部分
        seg(row,col)= {Im((row-1)*h_val+1:height+(row-1)*h_val,(col-1)*w_val+1:L(2),:)};
            elseif((height+(row-1)*h_val)>L(1)&&((col-1)*w_val+width)<=L(2))%判断最下边不完整的部分
        seg(row,col)= {Im((row-1)*h_val+1:L(1),(col-1)*w_val+1:width+(col-1)*w_val,:)}; 
            elseif((width+(col-1)*w_val)>L(2)&&((row-1)*h_val+height)>L(1))%判断最后一张
        seg(row,col)={Im((row-1)*h_val+1:L(1),(col-1)*w_val+1:L(2),:)};       
            else
         seg(row,col)= {Im((row-1)*h_val+1:height+(row-1)*h_val,(col-1)*w_val+1:width+(col-1)*w_val,:)}; %其余完整部分  
            end
        end
    end 
     imshow(Im);
     hold on
    system(['mkdir ',name]);%创建与图片名相同的文件用来保存图片
    paths=[pwd,'\',name]; %获取指定文件夹目录
     %保存子图
    for i=1:max_row
        for j=1:max_col
     imwrite(seg{i,j},[paths,'\',strcat(int2str(i),'行',int2str(j),'列','.bmp')]);   %把第i帧的图片写为'mi.bmp'
        end
    end
     
    % 画框显示
     for row = 1:max_row      
        for col = 1:max_col  
        c=rand(1,3);%随机颜色
         rectangle('Position',[w_val*(col-1),h_val*(row-1),width,height],...
             'LineWidth',2,'LineStyle','-','EdgeColor',c);
        end
    end

    转载于:https://www.cnblogs.com/cyychenyijie/p/4166423.html

    展开全文
  • 图像分块水印嵌入算法的matlab程序

    热门讨论 2009-06-15 17:10:05
    DWT的分块水印算法,对一幅灰度图像多分块处理,然后再做小波变换,嵌入水印信息。
  • MATLAB 图像重叠分块

    2017-10-31 14:54:21
    程序实现了对图像进行重叠分块的操作,可以设置图像块的大小和图像块间的重叠率。
  • 在官网上看演示的时候,发现讲解人就是分块运行显示 请问是怎样做到分块的?又是怎样运行的? M文件进行分块 在菜单栏CELL-- Enable Cell Mode 工具栏会多出来一行 incert cell driver 红色框

    又学到一招


    http://www.mathworks.cn/products/demos/image/IntroIPdemo/index.html
    在官网上看演示的时候,发现讲解人就是分块运行显示 
    
    请问是怎样做到分块的?又是怎样运行的?
    M文件进行分块
    在菜单栏CELL-- Enable Cell Mode  工具栏会多出来一行
    incert cell driver 红色框,点击后,在下面书写代码即可!还可以加Title
    要运行时,点击蓝色框中的,第一个是只运行该cell内的代码,第二个表示继续向下运行代码!

    展开全文
  • matlab实现jpeg压缩过程MATLAB程序,包括分块,DCT2D,哈夫曼编码,熵编码
  • 图像分块的小程序matlab

    热门讨论 2009-03-14 01:31:02
    一个用matlab写的图像分块程序,可以自己设定分块的大小,在做预处理上比较方便
  • 大连理工大学 研究生 矩阵与数值分析大作业
  • matlab图像的任意分块

    2010-06-29 10:49:28
    这是一个老外写的matlab的图像分块程序,希望有帮助
  • matlab语言编写的蚁群算法,为了便宜理解蚁群算法,本程序采用分块编写程序,很好理解。还有一个word附有本程序的说明
  • 有些图像可能太大,处理不方便,所以我写了一个程序用来图像分块分块后图像处理后,再将处理后的图像进行拼接,实现最后的结果。 源图像----->分块----->处理------>处理后的小片结果图像-------->...

    有些图像可能太大,处理不方便,所以我写了一个程序用来图像分块。

    分块后图像处理后,再将处理后的图像进行拼接,实现最后的结果。

    源图像----->分块----->处理------>处理后的小片结果图像-------->合并。

    以上处理各个图像之间没有重叠。

     

    原始图像:

    分割后:

    分割的代码:

    clear;
    clc;
     
    %%图片进行无重叠分块
    img = imread('C:\Users\A39.JPG');
     
    %% resize the image into the new size with 500x*500y
    r_img = img(:, :, 1);
    g_img = img(:, :, 2);
    b_img = img(:, :, 3);
    [row, col] = size(r_img);
    
    %ceil 进行四舍五入计算
    new_row = ceil(row/500) * 500;
    new_col = ceil(col/500) * 500;
    
    
    new_r_img = imresize(r_img, [new_row new_col], 'bilinear');
    new_g_img = imresize(g_img, [new_row new_col], 'bilinear');
    new_b_img = imresize(b_img, [new_row new_col], 'bilinear');
    
    
    new_img(:, :, 1) = new_r_img;
    new_img(:, :, 2) = new_g_img;
    new_img(:, :, 3) = new_b_img;
     
    [y_row,y_col,dim] = size(new_img);
    row_blk_num = y_row/500;  % 3
    col_blk_num = y_col/500;  % 6
     
    blocks = 1;
    for i = 1:row_blk_num
        for j = 1:col_blk_num
            disp(blocks);
            block = new_img((i - 1) * 500 + 1 : i * 500, (j - 1) * 500 + 1 : j * 500, :);
            imwrite(block, ['C:\Users\MenahemLi\Desktop\结果\A\' num2str(blocks) '.jpg']);
            blocks = blocks + 1;
        end
    end

    图像恢复:

    恢复是从文件名入手,所以文件名对于恢复很重要。不可乱改

    合并的代码:

    clear;
    clc;
    
    %%进行无重叠分块后的图片复原
    img = imread('C:\Users\A\A39.JPG');
    
    %% resize the image into the new size with 500x*500y
    r_img = img(:, :, 1);
    g_img = img(:, :, 2);
    b_img = img(:, :, 3);
    [row, col] = size(r_img);
    
    %ceil 进行四舍五入计算
    new_row = ceil(row/500) * 500;
    new_col = ceil(col/500) * 500;
    
    
    new_r_img = imresize(r_img, [new_row new_col], 'bilinear');
    new_g_img = imresize(g_img, [new_row new_col], 'bilinear');
    new_b_img = imresize(b_img, [new_row new_col], 'bilinear');
    
    
    new_img(:, :, 1) = new_r_img;
    new_img(:, :, 2) = new_g_img;
    new_img(:, :, 3) = new_b_img;
     
    [y_row,y_col,dim] = size(new_img);
    row_blk_num = y_row/500;  % 行数
    col_blk_num = y_col/500;  % 列数
    
    blocks = 1;
    temp = zeros(500,col_blk_num*500);
    for i = 1:row_blk_num
        img = imread(['C:\Users\A\' num2str((i-1)*col_blk_num+1) '.jpg']);
        for j = 1:col_blk_num
            img2 = imread(['C:\Users\A\' num2str(blocks) '.jpg']);
            img = [img,img2];
            blocks = blocks + 1;
        end
        if(i==1)
            temp = img;
        end
        if(i~=1)
            temp=[temp;img];  
        end
    end
    imshow(temp);

     

    展开全文
  • Matlab程序设计(三)

    2019-04-03 14:21:08
    我们一般一次仅专注于程序中的某个部分,分块操作代码。同样,向其他人解释文件时,通常分块介绍。为帮助介绍这些过程,使用代码节,也称为代码单元或单元模式。代码节包含 MATLAB 脚本中我们想要作为一组求值的连续...

    本节主要讲解运行代码节操作方式:

    MATLAB® 文件通常包含多个命令。我们一般一次仅专注于程序中的某个部分,分块操作代码。同样,向其他人解释文件时,通常分块介绍。为帮助介绍这些过程,使用代码节,也称为代码单元或单元模式。代码节包含 MATLAB 脚本中我们想要作为一组求值的连续代码行,以两个注释字符 (%%) 开头。

    要显式定义代码节界限,使用以下方法插入分节符:

    • 编辑器选项卡上的编辑部分中,点击插入按钮组中的 

    • 在您想要开始新的代码节的行首输入两个百分比符号 (%%)。

    与 %% 位于同一行中的文本称为节标题。可以选择是否包含节标题,不过,节标题可提高文件的可读性并在您发布代码时显示为题头。

    执行代码节

    编写 MATLAB 程序文件时,可以使用“编辑器”部分的功能逐节执行程序文件。该方法有助于您试用和微调您的程序。您可以在各节之间导航并单独执行每节。要执行某节,该节必须包含它需要的所有值,或这些值必须存在于 MATLAB 工作区中。

    节执行功能运行当前以黄色高亮显示的代码节。MATLAB 在执行某个代码节时不会自动保存您的文件。文件无需位于您的搜索路径下。

    另外,下面的操作在实际编程序的过程中可能会用到的:

    递增代码节中的值(可以用来算法的灵敏度分析);更改代码节的外观、同时使用代码节与控制语句和函数

    https://ww2.mathworks.cn/help/matlab/matlab_prog/run-sections-of-programs.html

    展开全文
  • 完整的基于DCT分块的数字水印MATLAB程序,子程序完整。便于研究学习!!
  • 分块压缩感知程序

    2013-11-06 09:05:52
    分块压缩感知程序(matlab).doc
  • MATLAB-程序设计

    2020-12-30 17:45:33
    Matlab_3 程序设计  M脚本文件  流程控制  函数  文件管理 ...Editor自动给出语句格式如循环和条件语句的缩进格式、程序分块等辅助工具。 M文件以扩展名.m标识。 M文件的运行 在命令窗口中输入文件名
  • 实验四 JPEG 压缩 一实验原理 1数据分块 对图像进行编码前将每个分量图像分割成不重叠的88像素块 每一个88像素块称为一个数据单元DU 在彩色图像中 JPEG 分别压缩图像的每个彩色分量虽然JPEG 可以压缩通常的红绿蓝...
  • 局部二值模式(LBP)Matlab程序

    热门讨论 2011-11-25 20:38:35
    包括:生成(8,2)邻域uniform LBP直方图的映射关系函数;计算分块区域I的LBP特征,(8,2),uniform;计算分区图像I的LBP特征,3*3,uniform;下载后直接调用getMBLBPFea函数,就可得到相应的图片的LBP直方图特征
  • 小波聚类matlab程序 聚类分析 复杂度只有O(N)的小波聚类,超级好用,代码分块详细,带范例可直接运行,在主程序可更改数据 小波聚类
  • 在参考别人的matlab程序中,有时候会看到两个百分号一起:%%,且当光标在这一部分时,颜色会不一样。比如: 因为%%在matlab代码中的作用是将代码分块,上下两个%%之间的部分作为一块,在运行代码的时候可以分块...
  • 小波聚类matlab程序

    2017-11-19 10:12:23
    复杂度只有O(N)的小波聚类,超级好用,代码分块详细,带范例可直接运行,在主程序可更改数据
  • 比如数字信号是x(n),n=1~N(1)先用Hist函数对x(n)的赋值范围进行分块,比如赋值范围在0~10的对应第一块,10~20的第二块,以此类推。这之前需要对x(n)做一些归一化处理(2)统计每一块的数据个数,并求...
  • 对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵。...比如数字信号是x(n),n=1~N(1)先用Hist函数对x(n)的赋值范围进行分块,比如赋值范...
  • 对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵。...比如数字信号是x(n),n=1~N(1)先用Hist函数对x(n)的赋值范围进行分块...
  • 内存映射是将磁盘上某文件的一部分或整个文件映射到应用程序地址空间内某个地址范围的一种机制。然后,应用程序可采用与访问动态内存相同的方法访问磁盘上的文件。与使用fread和fwrite等函数相比,能够加快文件的...

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

matlab程序分块

matlab 订阅