0

当我从连接到笔记本电脑的相机拍摄快照时,我的问题是 y 轴反转,因此结果错误“ http://s4.postimg.org/xcat1kmvh/sdsf.png ”......我通过以下方式解决了这个问题使用此代码“ set(gca,'YDir','normal') %starts at the bottom of the figure “...但问题是照片变成这样反转“ http://s16.postimg.org/ ekguxl35x/sdsfss.png "...我该如何解决这个问题...我只想获取图片中任何关节的 XY 分量...

这是我的代码:我只是在录制视频之前拍摄快照进行校准

图像(getsnapshot(handles.video));

set(gca,'YDir','normal') %从图底部开始

[x1,y1]=ginput(1)
[x2,y2]=ginput(1)
c=sqrt((x1-x2)^2+(y1-y2)^2)

 d=c/40.8;
4

2 回答 2

2

您可以在绘制图像之前反转图像,这样当您反转 y 轴时,图像就会以您想要的方向结束。这是一个例子

I = imread('peppers.png'); % sample image included in matlab
subplot(2,2,1)
imagesc(I)
subplot(2,2,2)
I2 = flipdim(I,1);
imagesc(I2)
set(gca,'YDir','normal')

在此处输入图像描述

在您的代码中,getsnapshot(handles.video))返回一个矩阵,您可以反转该矩阵。像这样的东西:

frame = getsnapshot(handles.video));
frame2 = flipdim(frame,1);
imagesc(frame2)
于 2013-06-19T18:58:35.480 回答
1

或者您可以使用以下方法作弊:

set(gca, 'YTicklabel', {'450' '400' '350' '300' '250' '200' '150' '100' '50'})
于 2013-06-19T19:00:30.883 回答