利用matlab如何将一幅图片按尺寸分割成若干小图片

2024年11月29日 10:46
有2个网友回答
网友(1):

这样的图是没有现成的函数帮你切割出来单个小圆的,我不知道是谁替你想出的这个方法,也不知道你有什么目的,但这绝对是个笨办法,只能靠机械式的数学算法,程序编出来没有适用性,不过如果你要是只针对这一个图我可以给你程序:设原始图片是im_i,你事先还必须测量出来边缘到第一个圆心的距离设为a1(长边)和b1(短边)以及两圆心之间的距离a2,才能进行初始化
a=a2/2;
A=a1+a;
B=b1+a;
[M,N]
=
size(im_i);
im_o
=
zeros(M,N);
im1=im_i(0:A,0:B);%第一个圆
for
k1=A:a2:M
for
k2=B:a2:N
.
.
.
剩下的就那么存就行了,你这是定位到圆,假如你想把图片直接切割成M*N块的图像直接用imwrite就行了

网友(2):

>>
a=magic(5)
a
=
17
24
1
8
15
23
5
7
14
16
4
6
13
20
22
10
12
19
21
3
11
18
25
2
9
>>
b=[a(1:3,1:3)]
b
=
17
24
1
23
5
7
4
6
13
>>
c=[a(1:3,4:5)]
c
=
8
15
14
16
20
22
这样就可以分成几个小矩阵啦
专门的语句,来分,貌似没有,只能取元素
a(i,j)取对应的元素而已,也可以多个