# create binary image with specific parameters

1 view (last 30 days)
Alejandro Fernández on 30 Aug 2020
Commented: Image Analyst on 31 Aug 2020
Hi, I need to create a binary image like the following from the following input arguments: • Number of rows in the binary image. nR
• Number of columns in the binary image. nC
• A MX8 matrix containing the position information of each rectangle. In each row you have the information of each one of the rectangles and by columns you have that the odd ones correspond to X coordinates while the even columns to the Y coordinates of the vertices of the rectangle. data. I give a example of data matrix.
nR = 50;
nC = 50;
A = false(nR,nC);
figure, imshow(A,'InitialMagnification','fit')
hold on
for i = 1 : size(data,1)
plot(data(i,1:2:end),data(i,2:2:end),'*')
end
This is what i have as input variables. Thank you so much for all. What I need is that the pixels that are inside the rectangles delimited by the vertices pass to take logical value 1 of the possible form, because in the accomplishment the number of rectangles surpasses the 10000.

KSSV on 30 Aug 2020
You need to proceed somethings like this:
nR = 100 ; nC = 100 ;
I = zeros(nR,nC) ;
I(50:60,50:60) = 1 ; % 50:60 are the rows and column indices where I want white pixels
imshow(I)
Image Analyst on 31 Aug 2020
Alajendro, I was going to suggest an entirely different approach using poly2mask() but since you've accepted this answer, it looks like you figured everything out, like how to get the coordinates from the colored asterisks in the image, how to group them together by color, and how to fill them out to a rectangle, either rotated or not.

R2020a

### Community Treasure Hunt

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

Start Hunting!