Azzera filtri
Azzera filtri

Info

This question is locked. Riaprila per modificarla o per rispondere.

Matlab source code for Image compression algorithm

142 visualizzazioni (ultimi 30 giorni)
Rishav
Rishav il 16 Mar 2014
Locked: Steven Lord il 30 Lug 2024 alle 14:53
I need a source code for image compression algorithm that will read the image and then compress it and save it in another folder. There is no need to display the image while executing. It would be more helpful if the source code works on multiple files through a loop. p.s i am working in matlab 2010a

Risposta accettata

Image Analyst
Image Analyst il 16 Mar 2014
originalImage = imread(inputfilename);
[inputFolder, baseFileName, ext] = fileparts(inputfilename);
% Write as compressed JPG or PNG or whatever.
outputFileName = fullfile(outputFolder, [baseFileName, '.jpg']);
imwrite(originalImage, outputFileName);
  13 Commenti
doaa
doaa il 6 Nov 2022
if you be exist to the code ,can you sent to me because i need it and doesn't reach for any code
Walter Roberson
Walter Roberson il 6 Nov 2022
doaa, we have been discussing multiple programs, and we do not know which one you want.

Più risposte (2)

Sufyan Parkar
Sufyan Parkar il 26 Set 2019
Modificato: DGM il 8 Apr 2024
Well Steven Lord,
I have tried to write a code myself.
Please try to assist me here.
clc;
clear all;
close all;
a = imread("location");
ag = rgb2gray(a);
imshow(a)
z = zeros(size(ag));
[x y] = size(ag);
for i = 1:x
z(i,1) = ag(i,1);
for j = 2:y
z(i,j) = ag(i,j-1) - ag(i,j);
end
end
disp(z)
figure()
imshow(z)
  1 Commento
Walter Roberson
Walter Roberson il 26 Set 2019
That code does no image compression. It tries to find the difference between adjacent pixels, perhaps in preparation for delta encoding. However, you will find that ag is likely uint8 and when you subtract a larger uint8 from a smaller you get 0 rather than negative. If you were to take care to double(ag) then you could get negative. However you are storing the results in double() and imshow of double with negative values might not give you the results you expect. Does it make sense to display the difference between adjacent pixels as if it were itself an image?
By the way: read about diff()

khadija elazrag
khadija elazrag il 27 Ott 2019
Hi i need source code for DNA comprission by using huffman algorithm
  6 Commenti
mousa
mousa il 30 Lug 2024 alle 14:24
hi i need code to do this,Give an example of image compression using MATLAB code.
Image Analyst
Image Analyst il 30 Lug 2024 alle 14:44
@mousa just save your image variable as a JPG or PNG image file
imwrite(rgbImage, 'compressed image.jpg'); % Lossy compression
imwrite(rgbImage, 'compressed image.png'); % Lossless compression

This question is locked.

Categorie

Scopri di più su Denoising and Compression in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by