用MATLAB对图片进行切割及复原

SkipStep=8;%每一个切割后的图片块的大小 和遍历的补偿
M=8;%图片块的长
N=8;%图片块的宽
n=0;%图片块的编号
I=imread('79.png');%要切割的图片
I = im2double(I);
%imshow(I);
%I=rgb2gray(I);%灰度转化
[H,W,t]=size(I);
 xStepNum = floor((W-N)/SkipStep+1);%朝负无穷方向取整 宽度方向block移动的次数        
     yStepNum = floor((H-M)/SkipStep+1);%朝负无穷方向取整  高度y方向移动的次数
        for j=1:xStepNum%一列一列来取的
            for m=1:yStepNum
            
n=n+1;
PImg=I((m-1)*SkipStep+1:(m-1)*SkipStep+M,(j-1)*SkipStep+1:(j-1)*SkipStep+N,:);%分割图像
a = strcat('/home/k40/caffe-master/matlab/demo/tupian/2/4/',num2str(n),'.png');%存储的图片的位置及每幅图片块的命名
imwrite(double(PImg),a);

end
        end


上述代码即将一幅图片切割成8*8的图片块

 

N = 8;
M = 8;
stepsize = 8;
n = 0;
I = zeros(256,256,3);%原图片的大小为256*256的彩色图

x = 256 / N;
y = 256 / M;

for i = 1 : x
    for j = 1 : y
        n = n + 1;
        a = strcat('/home/k40/caffe-master/matlab/demo/tupian/2/2_4/',num2str(n),'.png');%存储的切割的图片块的位置及每幅图片块的命名
        A = imread(a);
        A = im2double(A);
        I((j-1)*stepsize+1 : (j-1)*stepsize+M,(i-1)*stepsize+1 : (i-1)*stepsize+N,:) = A;
    end
end
w = strcat('/home/k40/caffe-master/matlab/demo/tupian/2/total4.png');%将合成的图片存储的位置及命名
imwrite(double(I),w);
imshow(double(I));

上述代码即实现了对切割图片的复原

相关推荐
第一章 MATLAB6.5 基础 1.1 MATLAB 语言介绍 1.1.1 MATLAB 产品系列与应用 1.1.2 MATLAB6.5 的新特点 1.2 MATLAB 语言基础 1.2.1 认识 MATLAB6.5 环境 1.2.2 MATLAB6.5 变量和表达式 1.2.3 数组的产生 1.2.4 数组的操作 1.2.5 常用的数学函数 1.2.6 数组的运算 1.2.7 数组的扩展 1.2.8 数组的转换 1.2.9 MATLAB 控制语句 1.2.10 其它控制语句 1.2.11 文件操作 1.2.12 M 文件 第二章 MATLAB 图形绘制基础 2.1 二维绘图 2.1.1 基本绘图函数 2.1.2 图形窗口的修饰 2.2 三维绘图 2.2.1 plot3 函数 2.2.2 三维网格图和曲面图 第三章 MATLAB 图形对象 3.1 图形对象 3.1.1 Root 对象 3.1.2 Figure 对象 3.1.3 Uicontrol 对象 3.1.4 Uimenu 对象 3.1.5 Axes 对象 3.1.6 Image 对象 3.1.7 Line 对象 3.1.8 Patch 对象 3.1.9 Rectangle 对象 3.1.10 Surface 对象 3.1.11 Light 对象 3.1.12 Text 对象 第四章 MATLAB 图形对象操作 4.1 图形对象的属性 4.2 图形对象句柄的获取 4.2.1 对象创建时获取 4.2.2 层次关系来获取 4.2.3 当前对象的获取 4.2.4 根据对象属性值的获取 4.3 图形对象句柄的删除与判断 4.3.1 句柄的删除 4.3.2 句柄的判断 4.4 图形对象属性值的获取与设置 4.4.1 图形对象属性值的设置 4.4.2 图形对象属性值的获取 4.4.3 用户缺省值的操作 4.5 图形对象的其它操作 4.5.1 figflag 函数 4.5.2 findfigs 函数 4.5.3 copyobj 函数 4.5.4 capture 函数 4.5.5 refresh 函数 4.5.6 saveas 函数 4.5.7 hgload 函数和 hgsave 函数 4.5.8 newplot 函数 第五章 GUI 设计 5.1 认识 GUI 环境 5.1.1 版面设计工具 5.1.2 属性编辑器 5.1.3 菜单编辑器 5.1.4 调整工具 5.1.5 对象浏览器 5.1.6 TAB 次序编辑器 5.1.7 GUIDE 环境设置 5.2 GUI 设计 5.2.1 GUI 设计原则 5.2.2 GUI 设计步骤 5.3 GUI 实现 5.3.1 组件的布局 5.3.2 属性编辑 5.3.3 回调函数 5.4 GUI 实例 5.4.1 组件布局 5.4.2 属性值的修改 5.4.3 回调函数 5.4.4 调试程序 5.4.5 执行的效果 5.4.6 结束语 第六章 MATLAB 特殊图形的绘制 6.1 区域图 6.2 填充图 6.2.1 二维填充图 6.2.2 三维填充图 6.3 条形图 6.3.1 二维条形图 6.3.1 三维条形图 6.4 直方图 6.4.1 笛卡儿坐标系下的直方图 6.4.2 极坐标系下的直方图 6.5 圆体图 6.5.1 圆柱体的绘制 6.5.2 球体的绘制 6.5.3 椭圆体的绘制 6.6 饼图 6.6.1 二维饼图 6.6.2 三维饼图 6.7 排列图 6.8 离散图形的绘制 6.8.1 二维柄状图 6.8.2 三维柄状图 6.8.3 阶梯图 6.9 散点图 6.9.1 二维散点图 6.9.2 三维散点图 6.9.3 散点图矩阵 6.10 轮廓图 6.10.1 二维轮廓图 6.10.2 三维轮廓图 6.11 向量图 6.11.1 罗盘图 6.11.2 羽状图 6.11.3 箭头图 6.11.4 法线图 第七章 MATLAB 高级绘图功能 7.1 彗星图 7.1.1 二维彗星轨迹图 7.1.2 三维彗星轨迹图 7.2 帧动画 7.3 程序动画 7.4 色图变幻 7.5 Voronoi 图和三角剖分 7.6 四面体 7.7 彩带图 7.7.1 彩带图 7.7.2 三维流彩带图 7.8 伪彩图 7.9 切片图 7.9.1 切片图 7.9.2 切片轮廓线图 7.10 网格图和曲面图特效 7.10.1 显示轮廓线 7.10.2 显示围裙 7.10.3 瀑布效果 7.10.4 带光
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页