Saving a Bilevel - or Binary Image
    6 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hello,
     I am creating a black and white movie in my code.  I create a 4 dimensional matrix of zeros.  Each number in the matrix is a uint8.  This is the problem.
B = zeros(X, Y, 1, NumberOfFrames);
B = uint8(B);  
All I want to save is a 1 and a 0.  By doing a unit8 I add 7 extra bits to each pixel.  This is over a 25 minute mov file!! How can I save the information using less memory?  Is there for example an: 
   B = binary(B); 
Command?
Thanks!
0 件のコメント
回答 (2 件)
  Sean de Wolski
      
      
 2011 年 1 月 26 日
         B = false(X, Y, 1, NumberOfFrames); %casts as logical (1bit)
or
 B = logical(B); %for something already in black and white but not 1bit
0 件のコメント
  Siddharth Shankar
    
 2011 年 1 月 26 日
        B = zeros(X, Y, 1, NumberOfFrames);
B = logical(B);
3 件のコメント
  Siddharth Shankar
    
 2011 年 1 月 27 日
				Sean, the code provided above is by no means meant to be "best practice" or the "best way" to do something. I was simply working off the code that "justthebasics" provided. The key was to make him aware of the LOGICAL function.
参考
カテゴリ
				Help Center および File Exchange で Logical についてさらに検索
			
	製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


