function taxa_comp = compc_sp(imagem, formato='.png')
img = imread(imagem);
split = strsplit (imagem, ".");
name = split(length(split) - 1);
file = strcat('.', name, formato){1};
imwrite(img, file);
img_png = imread(file);
espaco_memoria = numel(img_png);
info = imfinfo (file);
espaco_disco = info.FileSize;
taxa_comp = espaco_memoria / espaco_disco
if (isequal(img, img_png))
"Imagens são iguais"
else
"Imagens são diferentes"
endif
endfunction
imagem = './images/lena_cinza.bmp';
compc_sp (imagem);
taxa_comp = 1.7388
ans = Imagens são iguais
imagem = './images/plot_screen_shot.png';
compc_sp (imagem);
taxa_comp = 102.69
ans = Imagens são iguais
pkg load image
function PSNR= CPSNR(imagem1, imagem2, n=8)
img1 = imread(imagem1);
img2 = imread(imagem2);
mse = immse(imagem1,imagem2);
PSNR = 10 * log10((2^n - 1)^2/mse)
endfunction
CPSNR("./images/lena_cinza.bmp", "./images/lena_cinza.png");
PSNR = 37.308
imagem = './images/lena_cinza.bmp';
compc_sp (imagem, '.jpg');
comp = './images/lena_cinza.jpg';
CPSNR(imagem, comp);
taxa_comp = 8.1426
ans = Imagens são diferentes
PSNR = 39.873
function PSNR = compc_cpc(imagem, tx)
img = imread(imagem);
split = strsplit (imagem, ".");
name = split(length(split) - 1);
file = strcat('.', name, '.j2k'){1};
imwrite(img,file,"CompressionRatio",tx);
img_comp = imread(file);
imshow(img_comp);
PSNR = CPSNR(imagem, file)
endfunction
compc_cpc(imagem, 3);
warning: imwrite: unlisted image format j2k (see imformats). Trying to save anyway.
warning: called from
imwrite at line 115 column 5
compc_cpc at line 9 column 5
error: imwrite: invalid PARAMETER `CompressionRatio'
error: called from
__imwrite__ at line 172 column 9
imwrite at line 117 column 5
compc_cpc at line 9 column 5