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!


