cant find the white pixels

P
pasta pontikaki · Feb 7, 2023 · 2K views
Question
Hi all, i try to detect the edges of my image. I use canny edge detector.   Then i tried [c,r]=find(Image==1) to detect the white pixels. I thought in a b/w image the edges would be the white pixels, but this not works quite good. For example the vector with the coordinates is the follwing: I made a grid for every pixel in image using the method that Steves proposed   As you can see the first pixel [64,2] is not laying on a white pixel while some other are on whites.   Does anyone have any idea why this is happening? Are the edges on a binary image the white pixel or not? If yes then why i get also black pixels coordinates.
Expert Answer
Profile picture of Neeta Dsouza
Neeta Dsouza PhD Expert
Answered Nov 20, 2025

I suspect you're getting confused with your coordinates. In particular, the names of the variables in your line:

 

[c, r] = find(...rest does not matter

are very misleading, as c is going to be the rows and r the columns where white pixels are found. Typically, one writes:

[r, c] = find(...rest does not matter. 

Also, note that the upper left corner of the image is (1, 1) not (0,0). find returns matrix indices which are 1-based.

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!