How to convert jpg matrix to binary matrix

2 次查看(过去 30 天)
Hi!
I would like to send an image with a LED, and to do that first I need to read the .jpg image with imread(), but here as a result I get a matrix with decimal elements. Later, for sending the image I will need only binary elements (1-LED is ON, 0-LED is OFF). I was thinking of using the dec2bin() conversion and the result I can store in a new matrix as a string (since it has more elements) and at the sending I just run through each string with a loop and turn the on/off depending on the 0/1 values, but the problem is that after the dec2bin() conversion I will get different sized strings and the receiver shouldn't know these sizes. Is there any other solutions for this problem?
Thank you so much.

回答(3 个)

Star Strider
Star Strider 2017-10-7
Try the im2bw or the imbinarize functions in the Image Processing Toolbox. See the documentation on them for necessary details.
  1 个评论
Bence Salanki
Bence Salanki 2017-10-7
编辑:Bence Salanki 2017-10-7
Thank you very much for your answer. The thing is that I don't want to loose the color information and the functions that you suggested are converting the image into black&white.

请先登录,再进行评论。


Image Analyst
Image Analyst 2017-10-8
Here's one approach:
for k = 0 : 255 % Show what happens for every gray level.
thisString = dec2bin(k);
string8 = '00000000';
string8(end-length(thisString)+1:end) = thisString
end
Now all the pixels will be 8 characters, with leading zeros if necessary.

Walter Roberson
Walter Roberson 2017-10-10
dec2bin(k, 8)
gives a fixed number of outputs.

类别

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