Pixel values different for binary (logical array) image using impixel() vs accessing logical matrix normally

3 views (last 30 days)
I don't understand why when trying to access the pixel values of this image i get different values using impixel() vs accessing the matrix of the bianrized and thinned image which is a logical matrix. The impixel() values are the correct ones while the normal matrix accessing gives me the wrong values different from both the impixel() method and viewing the imagematrix in the matlab workspace. I cannot use impixel() in my code because it slows down the code considerably, can anyone give me a workaround to get the correct pixel values without using impixel(). By the way i used imbinarize() for binarization and bwmorph() for thinning with the method set to thin.
This is the thinned image and this is the code
thinImg(372:374, 207:209)
impixel(thinImg, 372:374, 207:209)
Assuming the image is called thinImg. Please help, I have tried everything and reserched everywhere but no results.
Thanks.

Accepted Answer

Image Analyst
Image Analyst on 25 Feb 2020
If you look up the documentation for impixel(), you'll see that it want coordinates in x,y format (i.e. column, row), NOT row, column like normal image and matrix indexing wants. Swap your coordinates and they should match.
  4 Comments
Image Analyst
Image Analyst on 25 Feb 2020
It's a common beginner mistake. You will have to keep an eye out from now on because some of the functions do things with (x,y) format while other functions, and matrices, do things with (row, column) format, which is the reverse. You just never know. Even I have to go back and check for things like bwboundaries() - does it return in (x,y) or (row, column) form?
Nick Spiker
Nick Spiker on 21 Sep 2021
I guess it's too late now for the math community to fix it but I always thought y axis was up/down and x axis is left right. Too bad matrix indexing is backwards.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!