How to draw a line on a image between the pixels?

8 ビュー (過去 30 日間)
Varshini Guddanti
Varshini Guddanti 2016 年 9 月 22 日
回答済み: Image Analyst 2016 年 9 月 22 日
When I use the line command :
line([1,512],[99,99],'Color','r','LineWidth',2)
I'm getting a line at the centre of a pixel's area. But I want the line to be outside the pixels i.e between two pixels.
Can anyone help me out!!

回答 (3 件)

Image Analyst
Image Analyst 2016 年 9 月 22 日
To burn a line into the image (if that's what you want to do), see attached demo.
If you want to put the line into the graphics overlay above the image, use the line() function.

Walter Roberson
Walter Roberson 2016 年 9 月 22 日
Graphics devices that use pixels (that is, any graphics device you are likely to encounter!) work by adjusting the brightness at each pixel. You cannot draw between pixels because it is pixels that are the drawing mechanism.
Is it possible that what you really mean is that you have an image that you are displaying into a larger area than the number of array locations would require, so each image pixel is occupying multiple device pixels, and you want to draw between image pixels?
Another possibility is that you are rather indirectly talking about problems with anti-aliasing, that your lines might not appear sharp. If so then see the AlignVertexCenters line property.
  1 件のコメント
Varshini Guddanti
Varshini Guddanti 2016 年 9 月 22 日
Yeah. I now tried to change each pixel value to black to display a line instead of using line() function. Thanks though!

サインインしてコメントする。


Dalibor Knis
Dalibor Knis 2016 年 9 月 22 日
編集済み: Dalibor Knis 2016 年 9 月 22 日
Raster image consists of pixels with no space in between them. So you cannot draw a line between pixels. Might you managed that you would be breaking into another space :-)
But if you want to draw a line anywhere between pixel centers that all you need is to specify line end-points locations as decimals.
e.g:
imagesc(ones(10,10))
line([2 2 3 3 2], [2 3 3 2 2],'color','r')
line([2.4 2.4 2.6 2.6 2.4], [2.4 2.6 2.6 2.4 2.4],'color','r')
The outer square connects neighboring pixel centers. The inner square is in between.

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by