Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

How to get the binary value inside the binary image?

Asked by Wei Qing

Wei Qing (view profile)

on 7 Aug 2012

How to extract the binary values inside the binary image into a set of array?

For example:

h = { 0 1 1 0 1 1 0 0 0 1 1 0 1 0 }

0 Comments

Wei Qing

Wei Qing (view profile)

Products

No products are associated with this question.

2 Answers

Answer by Junaid

Junaid (view profile)

on 7 Aug 2012
Accepted answer

Could you explain the example little more.

Let say you have binary image B, it is already binary so you can convert into array by

B(:) 

I hope this is what you want right ?

2 Comments

Wei Qing

Wei Qing (view profile)

on 8 Aug 2012

ya. i want to get the binary data inside the binary image n store to an array. Then after that i am able to compare the binary data to another binary data get from different binary image. It is about the matching process of a finger-vein biometrics system. The binary image is finger-veins that i extracted from the finger region. The binary image is look like tis http://www.freeimagehosting.net/cq1wq.

Wei Qing

Wei Qing (view profile)

on 8 Aug 2012

the B(:) is get the pixels value of the binary image. But i tink i m able to solve it by convert any pixels value greater than 127 to 1 and pixels value lower than 128 to 0.

Junaid

Junaid (view profile)

Answer by Image Analyst

Image Analyst (view profile)

on 8 Aug 2012
Edited by Image Analyst

Image Analyst (view profile)

on 8 Aug 2012

The binary data is already in an array - a cell array, as we can tell from the braces. I'm not sure how it got into a cell array in the first place, but anyway, to get it into a regular numerical array (a double), try this:

h = { 0 1 1 0 1 1 0 0 0 1 1 0 1 0 }
h_matrix = cell2mat(h)

To extract certain elements, just index it. For example, let's say you want elements 3 through 5. Then do this

subMatrix = h_matrix(3:5)

If you have a numerical array already (unlike the cell array that you gave as an example), and you want to convert it to a logical (binary) array, you can threshold. For example to set all values above some threshold value to true (1) and lower to false (0), you can do this:

thresholdValue = 127;  % Or whatever value you want.
binaryArray = yourMatrix > thresholdValue;

2 Comments

Wei Qing

Wei Qing (view profile)

on 8 Aug 2012

The h initially should be a empty array. Then, i want to extract the binary data from the binary image to the empty h array. For example:- initially h={} after extract data from the image then h = { 0 1 1 0 1 1 0 0 0 1 1 0 1 0 }

Image Analyst

Image Analyst (view profile)

on 8 Aug 2012

This doesn't make sense. How on earth did you get numbers from nothing? Did you use a random integer generator, like randi()?

Image Analyst

Image Analyst (view profile)

Contact us