Overlay a plot on an image
显示 更早的评论
Hi,
I have to overlay a plot on a image. Here is my code:
Imm = imread('imageLeft.png');
figure()
imshow(Imm)
hold on
plot(pos_sensor_Lx,pos_sensor_Ly,'-o')
where Imm is the image (634x484x3 uint 8) while pos_sensor_Lx and pos_sensor_Ly are two column vectors 3487x1 double with values all normalized between [0;1].
When I plot the vectors and the image separately, I get this results:


Overlaying them, I ideally had to see the scan path well distribuited on the white and red dots of the image. Anyway when I overlay them I can't see the scan path over the image because of the very small values of the vector elements. Here the result I get:

All the values are clustered as shown.
Is there a way to adjust the image dimensions or the value of the vector elements to get the result I want?
Thank you
4 个评论
Rik
2021-2-8
The scale of your points is fairly small. Do those units represent pixels? Normalized location? Something else?
Using daspect([1 1 1]) will also do something you might want.
KALYAN ACHARJYA
2021-2-8
编辑:KALYAN ACHARJYA
2021-2-8
@Federica In the image, pixels are positioned based on Indices [0-r] and [0-c] in both in y and x direction. In the 2nd data, the values within 0-1, you may check for the normalize the 2nd data with repect to the 1st one?
Actually how do consider the maping of 2nd data with respect to image indices?
采纳的回答
更多回答(1 个)
Ravi Kumar Pallantla
2022-8-10
0 个投票
There is a script in file exchange to plot data on an image file. Hope it will be helpful to you.
类别
在 帮助中心 和 File Exchange 中查找有关 Images 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!