# How can I find pixel coordinates of a perimeter in a binary image?

42 views (last 30 days)
Commented: Cam S on 18 Jul 2019
Hi
I have a binary image which I have extracted the perimeter with bwperim() function. Now that I have the perimeter image I am trying to extract the coordinates of pixels in this perimeter.Here are the images:
The white perimeter illustrated in the second image is where I want to find the coordinates. Any Suggestions is appreciated.
Thanks
Cam S on 18 Jul 2019
yes exactly! how do you do that image analyst

Nitin on 1 Apr 2014
Assuming your image is a binary one:
[a,b]= find(I==1); % get the coordinates
##### 2 CommentsShowHide 1 older comment
Dishant Arora on 1 Apr 2014
If it works accept the answer.

Dishant Arora on 1 Apr 2014
If you have a single blob the above answer would suffice but in case you have multiple objects use bwboundaries. It gives you the coordinates of boundary pixels.
doc bwboundaries
Image Analyst on 1 Apr 2014
I agree with Dishant that bwboundaries is what you want , not bwperim followed by find. The difference in sizes between find and bwperim is probably due to bwboundaries "cutting corners" as it makes a 45 degree path while perim will give you all the rows and columns of the "L". Also find probably does not "follow the boundary" like bwboundaries does. With find you are not gauranteed that the pixel at the kth index is next to the pixel at the (k+1)st index since find probably goes in column major order like most things in MATLAB.

Arriana Nwodu on 13 Aug 2018
So which code is correct? I tried all the ways listed and it didn't work