Saving a Bilevel - or Binary Image
1 回表示 (過去 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 で Convert Image Type についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!