Set pixel value to zero in intensity image

I wish to set the value of a pixel at a certain coordinate to zero in an image. Any idea how to do this? The coordinate is (641,513) (the middle).
Thanks in advance,
JB

 采纳的回答

Nitin
Nitin 2013-6-25
I = imread(img);
I(614,513)=0;

3 个评论

Thanks a lot! Actually did this myself but interestingly didn't work as the x and y axes had somehow switched. Think it may be to do with using the fftshift function before setting the pixel to zero
So for this I had to use I(513,614) for the centre even though the matrix was originally 1280x1024. It had changed to 1024x1280 after performing fftshift.
x is column, y is row. So I(x,y) is not the same location as I(row, column). If you want x = 20, y = 100, you need to do I(100, 20), not I(20,100) because the row (the y value) index comes first. This is a common source of confusion and errors and you need to always watch out for this.

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by