matlab提取图像上的任意坐标点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab提取图像上的任意坐标点相关的知识,希望对你有一定的参考价值。

你把他保存在我的文档中的MATLAB文件夹里,然后以1111命名(我随便命名的)
在MATLAB里输入命令
a=imread('1111.jpg');
imshow(a)
此时图像就在MATLAB里显示出来了
然后用取坐标点命令
ginput
点图像上你想要的点A,I,J,K
然后回车
此时窗口上就出现了各个点的坐标了。他们之间的距离就可以算出,然后你再用比例关系,就可以算出实际距离了
我的运行后坐标是:1.170000000000000e+002 2.899999999999994e+001
1.140000000000000e+002 9.199999999999994e+001
1.100000000000000e+002 1.489999999999999e+002
1.060000000000000e+002 2.049999999999999e+002
注意系统默认坐标原点是在图片左上角
参考技术A 第一种途径:
ginput()函数
ginput提供了一个十字光标使我们能更精确的选择我们所需要的位置,并返回坐标值。函数调用形式为:
[x,y] = ginput(n)
[x,y] = ginput
[x,y,button] = ginput(...)
对于[x,y] = ginput(n),能使你从当前的坐标系中读取n个点,并返回这n个点的x,y坐标,均为nX1的向量。可以按回车提前结束读数。
[x,y] = ginput 可以无限的读取坐标直到按下回车键。
[x,y,button] = ginput(...) 返回x和y的坐标,以及button值(1=左键,2=中,3=右)或者按键的ASXII码值。
第二种途径:
利用figure的WindowButtonDownFcn属性。
当你在图上按下鼠标的时候,可通过该属性定义一个回调程序。回调程序可以是一个有效的Matlab表达式或者一个M文件。
那么为显示当前鼠标按下时的坐标值,我们可以将其定义为一个坐标获取和显示程序。 例如:
% 主函数 function test_mouse_track() figure; axis([-10,10,0,5]); set(gcf,'WindowButtonDownFcn',@ButttonDownFcn); % 回调函数 function ButttonDownFcn(src,event) pt = get(gca,'CurrentPoint');
x = pt(1,1);
y = pt(1,2); fprintf('x=%f,y=%f\n',x,y);
参考技术B 图像上显示功能还是比较简单的生活状态,如果要找任意坐标点或者其他什么原因造成伤害

在OpenCV打开的图像上,已知图像上的某点坐标,如何获取该点像素值

参考技术A CvScalar s;
s=cvGet2D( image, idx0, idx1 );
image为图像,idx0和idx1为像素坐标
再用s.val[i]可以取出不同通道i=0,1,2,3的像素值

以上是关于matlab提取图像上的任意坐标点的主要内容,如果未能解决你的问题,请参考以下文章

如何用Matlab画出一组坐标点,并且将这组坐标点按照X坐标从小到大的顺序连线,

plc网口通讯怎么接收坐标点坐标

ArcEngine Java 怎么识别坐标点所处的面

地图坐标点转换成布局坐标点

排序坐标点c ++

Qt QCustomPlot 点状网格线实现和曲线坐标点拾取