利用matlab将一张图片分割成10×10的小图片,求程序!

发布网友 发布时间:2022-04-21 21:18

我来回答

4个回答

热心网友 时间:2023-11-21 09:31

% 图像切片代码

% my_imslice(filename)缺省方式,输出3×3 切片

% my_imslice(filename,rc,cc)输出 rc×cc 切片

function [rgb,mn] = my_imslice

p = imread(filename)

% 图片补齐及计算每片大小

[m,n,h] = size(p)

rp = rc*(fix(m/rc)+1*(mod(m,rc)==1))% 补齐后行像素

frow = fix(rp/rc)% 片行像素   

cp = cc*(fix(n/cc)+1*(mod(n,cc)==1))% 补齐后列像素

fcol = fix(cp/cc) % 片列像素 

mn = [frow fcol]

pp = p

pp(rp,cp,:) = 0; % 原始数据补齐

% 数据分片、显示

rgb = cell(rc,cc);

for r = 1:rc

end;

扩展资料:

Matlab包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

参考资料来源:百度百科-MATLAB

热心网友 时间:2023-11-21 09:31

楼上的太想当然了

clc
clear

src_path='c:\1.jpg'; %原始图片路径
dst_path='c:\pic_div\';%分割图片后保存路径
mkdir(dst_path);%路径不存在则生成

A = imread(src_path); %读入原始图片
[m,n,l] = size(A); %获得尺寸

for i = 1:10
for j = 1:10
m_start=1+(i-1)*fix(m/10);
m_end=i*fix(m/10);
n_start=1+(j-1)*fix(n/10);
n_end=j*fix(n/10);
AA=A(m_start:m_end,n_start:n_end,:); %将每块读入矩阵
imwrite(AA,[dst_path num2str(i) '-' num2str(j) '.jpg'],'jpg'); %保存每块图片
end
end

如上代码已经过验证追问请问,我读取一个图片路径是E:\a.bmp,那个原始路径和分割图片后的路径怎么修改,由于我没学过这东西,毕设还需要用,麻烦您多费心了!我自己修改过后还是分不出来。。

追答直接改这两句就行了
src_path='E:\a.bmp'; %原始图片路径
dst_path='E:\pic_div\';%分割图片后保存路径

热心网友 时间:2023-11-21 09:31

挺简单。我就直接不开matlab在上面写了。
A = imread('abc.png');
[m,n] = size(A);
for i = 1:10:m
for j = 1:10:n
imwrite(A(i:i+10,j:j+10),[num2str(i) num2str(j) '.png'],'png');
end
end

热心网友 时间:2023-11-21 09:32

如何对许多图片进行分割成4X4的小图片

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com