Exporting coordinates from a binary image

I would like to extract the necessary coordinates of these structures in order to introduce them in a software that will use them as input to reproduce the image for mechanical simulation purposes. I have never used a matlab-based image analysis approach, would you know how proceed?

 Accepted Answer

yes,sir,may be use image label to get every block,such as
clc; clear all; close all;
[img,map] = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/898115/image.png');
if ~isempty(map)
img = ind2rgb(img,map);
end
bw = im2bw(img,0.2);
bw2 = imclose(bw,strel('line',100,0));
bw2 = imclose(bw2,strel('line',50,90));
bw2 = imfill(bw2, 'holes');
bt = logical(bw2-bw);
[L,num] = bwlabel(bt);
% choose block
figure; imshow(img, []); hold on;
h = imshow(label2rgb(L));
set(h,'AlphaData',0.6)

More Answers (1)

Not sure what that software wants, but it looks like those are outlines of labeled regions, so you could extract each region one at a time with ismember() and then use bwboundaries() to get the (x,y) coordinates of the single region and write it out. Then just repeat for every region.

2 Comments

So i have to clarify that I am a newbie with matlab. this is a CAD software where i need to provide coordinates ( (x,y) values ) in order to reproduce this same image. what I need is to export the coordinates of the cells that have a value different from 0.
It looks like that is just the binary image you posted. Is that what your program wants?

Sign in to comment.

Products

Release

R2021b

Community Treasure Hunt

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

Start Hunting!