Reading pixels of an image
11 次查看(过去 30 天)
显示 更早的评论
Hello, How does MATLAB read the pixels in an image? Is it row wise or column wise? Suppose I have a 5x6 image and I wanted to read 21st pixel, what value is returned? Is it the value at (4,3) or (1,5)?
0 个评论
回答(3 个)
jonas
2018-10-24
编辑:jonas
2018-10-24
Indexing works by going through the matrix column by column, so that would be (1,5) in your example. Don't be afraid to test things in MATLAB.
A =
1 2
3 4
>> A(3)
ans =
2
You can also test it by writing out the values of all indices with this syntax
>> A(:)
ans =
1
3
2
4
As you can see, the two columns are stacked on top of eachother.
5 个评论
Image Analyst
2018-10-24
It's the 21st element which you can see by looking at m(21). If you use (row, column) indexing element 21 is the same as (1, 5). See this little illustration:
m = reshape(1:30, 5, 6) % Sample data
% Show the value of the 21st element using linear indexing:
m(21)
% Show the value of the (4, 3) element using (row, column) indexing:
m(4, 3)
% Show the value of the (1, 5) element using (row, column) indexing:
m(1, 5)
What you'll see:
m =
1 6 11 16 21 26
2 7 12 17 22 27
3 8 13 18 23 28
4 9 14 19 24 29
5 10 15 20 25 30
ans =
21
ans =
14
ans =
21
4 个评论
Image Analyst
2018-10-30
If you change only the first index, you will change the row while remaining in the same column.
Abdul Rehman
2018-10-24
编辑:Abdul Rehman
2018-10-24
Basically MATLAB Read image in form of Matrix,
A=[22 33 55 66 77 ; 33 55 77 88 99 ; 4 2 66 8 9];
like this, when you try in matlab Random 5*6 Matrix and perform operation.it's return the pixel value at that location in Matrix. For grayscale image it's range is (0-255).
if true
A=[22 33 44 1 2 4 ; 2 3 55 77 99 2 ;2 44 5 77 84 2; 33 4 55 2 1 4 ; 33 55 66 77 88 32];
A(4,3);
A(1,5);
end
Answer is:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/192696/image.jpeg)
Hopefully you get it.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!