LZW Compression Via Gif Transformation
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
Hi everyone, i can compress an array which be formed binary data but i can't decompress it. I use "gif" transformation to compress the array.
%Generates bits with equal probabilities
n=100000;
prob = [.5 .5]; 
Input=[0 1];
fp =randsrc(1,n,[Input;prob]);
data1 = uint8(fp);
imwrite(data1,'1KB.gif');
fp2 = fopen('1KB.gif','rb');
data = uint8(fread(fp2));
it works but i need to de decompress it.
i need the first binary array after the decompression. How can i do that ?
Thanks for your Help.
댓글 수: 3
  Jan
      
      
 2018년 2월 26일
				It is not trivial to interpret the specifications of the GIF 89a standard, see https://www.w3.org/Graphics/GIF/spec-gif89a.txt. It will be much easier to use one of the functions of the file exchange. It would help to post a suggestion, if you explain, what you want to do.
채택된 답변
  Jan
      
      
 2018년 2월 26일
        
      편집: Jan
      
      
 2018년 2월 26일
  
      Writing GIF compresses the data with LZW, but adds a header also. If you really want this, imread can import the data again.
댓글 수: 4
  Jan
      
      
 2018년 2월 27일
				"GIF" is not a "transformation" or a LZW compression method, but a format of image files. Although the data are compressed by LZW, it contains color tables and further header information. Therefore it is a bad idea to use a GIF files as a compression method.
Although you can get the binary data of the GIF image file by fread, you will get the additional header information also.
Therefore I strongly recommend, to search in the FileExchange and the internet for "MATLAB lzw" and use one of the these tools. All you have to do is to download and run it. This will be less complicated than struggling with the creation of image files and trying to access the compressed binary data.
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Image Data에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

