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

14 次查看(过去 30 天)
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

采纳的回答

Salaheddin Hosseinzadeh
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 个评论

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by