Para una imagen JPG, escriba un programa Matlab para cortarla en 9 imágenes pequeñas (3×3).
?Código de corte de imagen
?my_imslice(nombre de archivo);?Modo predeterminado, salida?3×3?slice;
?my_imslice(nombre de archivo,rc, cc);?Salida?rc×cc?slice;
función?[rgb, mn]?=?my_imslice(nombre de archivo,rc,cc)
p?=?imread ( nombre de archivo);
if?nargin?==?1,?rc?=?3;?cc?=?3;?end;??rc,cc?valor predeterminado
?Completa imágenes y calcula el tamaño de cada pieza
[m, n, h]?=?size(p);
rp?=?rc*(fix( m /rc) 1*(mod(m, rc)==1));??Rellena los píxeles de la última fila
frow?=?fix(rp/rc);?Repara los píxeles de la fila
p>
cp?=?cc*(fix(n/cc) 1*(mod(n,cc)==1));??Completa los siguientes píxeles
fcol?= ?fix(cp/cc);?¿Columna de píxeles?
mn?=?[frow?fcol];
pp?=?p;?
pp(rp, cp, :)?=?0;??Completación de datos originales
?Fragmentación y visualización de datos
rgb?=?cell(rc ,cc) ;
para?r?=?1:rc
para?c?=?1:cc
rrr?=?((r -1) *frow 1): r*frow;
ccc?=?((c-1)*fcol 1): c*fcol;
rgb{r, c }?= ?pp(rrr,ccc,:);
subtrama(rc,cc,(r-1)*cc c);
imshow(rgb{r,c) }); ?
tt?=?[num2str(r)?num2str(c)];
título(tt);?
end;
end;
?Guardar sectores como archivos
txt?=?'¿Quieres guardar sectores como archivos? ';
ttl?=?'Recordatorio de guardar corte';
str1?=?'Guardar';
str2?=?'Abandonar';
def?=?str1;
botón?=?questdlg(txt,ttl,str1,str2,def);
guardado?=?strcmp(str1 , botón);
if?~saved,?disp('Abandonar el guardado del archivo de corte.
');?return;?end;
ps?=?find(filename=='.');
nm?=?filename(1:ps-1); ?Nombre de archivo
ext?=?nombre de archivo(ps 1:end);?Extensión de archivo
txt?=?['¿Guardar como?'?num2str(rc*cc) ? '?Archivos de corte:?'];
disp(txt);
for?r?=?1:rc
for?c =? 1:cc
tt?=?[num2str(r)?num2str(c)];
fnm?=?[nm?'_'?tt?'. text];
imwrite(rgb{r, c}, fnm);??Guardar el archivo de corte
disp(fnm);
end
fin;