how to convert decimal values into 8bit binary sequence and represent in a 256*256 matrix

24 views (last 30 days)
hello
I have used the following code to represent decimal values in a matrix to 8bit binary sequences in place of each value. but im not able to get the 8 bit value...instead i get only one bit answer. also in case an 8bit sequence is obtained how should i represent each sequence separately? please help.
>>clc
>>clear all
>>close all
>>a=imread('C:\Users\Abzz\Desktop\lena.png');
>>imshow(a)
>>disp(a)
>>for i=1:1:256
>>for j=1:1:256
>>b(i,j,:)=dec2bin(a(i,j),8);
>>end
>>end
>>disp(b)
thanks in advance

Accepted Answer

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 13 Aug 2014
Hi Abirami,
You are aware that you're making a 256 x 256 x 8 matrix(3D matrix), and that's how it showed on MALTAB when you have a 3D matrix.
A quick solution would be to store it in a cell, so change your code as such
b{i,j,1} = dec2bin(a(i,j),8);
Hope that helps. Good Luck.
  3 Comments
c kdg
c kdg on 3 Apr 2017
How to copy the above output binary sequence to a text file from command window Please reply.

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 13 Aug 2014
a=imread('C:\Users\Abzz\Desktop\lena.png');
b=cell2mat(arrayfun(@(x) reshape(dec2bin(x,8)-'0',1,1,8),a,'un',0));

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!