互动从图像中提取像素以及自定义线
59视图(30天)
显示旧的评论
下面的代码提取第一列图像的像素值。
IMt = imread (“test.jpg”);
%转换为双格式
IMtd =双(IMt);
%隔离第一次跟踪
跟踪= (IMtd (: 1));
我需要做的是沿着任意线提取像素值(见下面图片中红线)。换句话说,沿着一个方向斜行和列。
有一个可用的工具Matlab可以画出一个图像,然后交互式地画一条线在提取的值?
如果我用……
imshow (IMt)
datacursormode在
…像素值交互显示当我举起的形象。就需要有一种方法编写成一个数组在同一时间。
0评论
接受的答案
图像分析
2020年6月6日
尝试improfile ()
或画直线()和一个回调函数
5个评论
Z.S.
2021年7月2日
我认为这个变量
linestart
和
lineend
是7月结束的x和y坐标点使用
improfile
。的帮助页面
improfile
格式应该是
improfile (I (x, y)。
然后代码应该类似:
我= imread (“liftingbody.png”);
imshow(我);
投资回报率=画直线(“颜色”,“r”);
%现在交互式地画一条线
%
%的X和Y坐标读出的开始和结束点
line_xs = [roi.Position (1, 1), roi.Position (2, 1))
line_ys = [roi.Position (1、2), roi.Position (2, 2)];
沿着线%提取像素值
pixvals = improfile(我line_xs line_ys);
图
情节(pixvals 1:长度(pixvals),“k”),轴紧、标题(的像素值)
包含(的像素灰度值)
ylabel (的相对位置linestart (0) lineend”)
答案(1)
杰夫·马瑟
2020年6月8日
我一直在思考如何帧功能的增强请求你要求,我有一些问题。
我很想知道你的最终目标是什么,到底你想发生沿对角线。
假设您有一个对角线,通过像素只是一个小小的十字架,一点点,它要统计吗?或者它将适当确定行和列的数量diagnol张成,然后使用
函数的
找出像素样本的数量一致。(你现在就可以做
improfile
现在,当然,对于非交互式语法)。
所有这些让我第一个问题:什么是你的终极目标有improfile返回更多的像素网站吗?你将如何使用,增加决议?
(顺便说一句,我不是批评你的要求,我只是想确保我们得到一个解决方案,满足您的用例)。