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 日

0 投票

I = imread(img);
I(614,513)=0;

3 件のコメント

J B
J B 2013 年 6 月 25 日
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
J B
J B 2013 年 6 月 25 日
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.
Image Analyst
Image Analyst 2013 年 6 月 25 日
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 ExchangeImages についてさらに検索

質問済み:

J B
2013 年 6 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by