Shifting XY- coordinate system (normally known as left-hand coordinate system) from top left to conventional (right handed) coordinate system?
10 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to transform my matrix origin from top left corner (showed in Red color in the plot) to bottom left corner (showed as purple color).
I have already implemented
axis ij
So, it is not just about visualization but I want to do the transformation so that the second plot would flip too resulting in upper half to be positive (as the displacement is towards the top) and bottom half to be negative as the displacement is downwards for that. I need to further process the data based on the normal Cartesian coordinate system.
I have looked at the rotation matrix and different other articles online but could not figure out how exactly to implement this.
File size is larger than 5MBs so I am sharing a googledrive link: [https://drive.google.com/drive/folders/11W-JzQcugCYNft44zdtCikgrRWzwqndq?usp=sharing]. Following code should give you the plots that I have uploaded:
[rows,cols] = size(imread('test1_0000.tif'));
ref = NaN(rows,cols);
X = datafile(:,1); Y = datafile(:,2);
idnx = sub2ind(size(ref),Y,X);
ref(idnx) = datafile(:,3);
subplot(2,1,1)
imshow(imread('test1_0000.tif'),[])
subplot(2,1,2)
ax = pcolor(ref); colormap((parula))
axis ij tight equal;colorbar
ax.LineStyle = 'none';ax.EdgeColor = 'flat';ax.FaceColor = 'flat';
回答(1 个)
Gaurav Garg
2020-8-10
Hi,
You can transpose the image and then work on it.
image = image(end:-1:1,:)
This will be equivalent to shifting the co-ordinate system to bottom-to-top.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!