如何获取 灰度图上 某些点的坐标值(当然包括此点的高度值)?
我要做表面粗糙度的分析,具体来说是这样的:通过原子力显微镜获取灰度图,在灰度图上画出采样线(如 左侧灰度图上的红色线条 所示),于此同时获取此红色线条上所有的点的坐标值,画出像右侧轮廓图一样的图形
我现在的遇到的困难是:1. 如何使用鼠标画出采样线?
2.如何获取采样线上的坐标值?
请高数帮帮忙,谢谢了。
对了,:@( fig 太大 传不上来,这样吧,您感兴趣的话 我会把资料发给您:@)
我的QQ:1034877411 email:1034877411@qq.com
回复 楼主 chenjc18 的帖子
图像处理方面的东西不是很熟悉,不过感觉上楼主的问题也不是不能解决。1.画出采样线比较容易,plot就可以。用鼠标画可能就不那么容易了,是说鼠标点出两个端点那样画吗?如果是的话,可能需要调用figure的回调函数——这个不太懂,看看GUI编程方面的基础知识应该能找到。还有就是,如果不是特别需要,可以用plot画代替鼠标点取。
2.灰度图应该就是一个三维矩阵吧?Width*Height*Deepth,这样只要对采样线的坐标取整得到矩阵的下标,那么就可以得到灰度值——也就是你b中所需要的值了。 对了,好像jpg格式有些自己的规定,稍微复杂些,可以试着把jpg转换成bmp之后再处理可能方便点儿。 原帖由 sogooda 于 2008-12-11 19:37 发表 http://www.chinavib.com/forum/images/common/back.gif
图像处理方面的东西不是很熟悉,不过感觉上楼主的问题也不是不能解决。
1.画出采样线比较容易,plot就可以。用鼠标画可能就不那么容易了,是说鼠标点出两个端点那样画吗?如果是的话,可能需要调用figure的回调函数 ...
首先 谢谢您的回复
就是想做个界面 由鼠标点出两个端点,由此连成的直线作为采样线;
Width、Height、Deepth 这些数据我都有的 ;
还有 采样线不一定都是像图上画得那样水平的 也有的是与水平向有一定角度的; 原帖由 chenjc18 于 2008-12-11 19:58 发表 http://www.chinavib.com/forum/images/common/back.gif
首先 谢谢您的回复
就是想做个界面 由鼠标点出两个端点,由此连成的直线作为采样线;
Width、Height、Deepth 这些数据我都有的 ;
还有 采样线不一定都是像图上画得那样水平的 也有的是与水平向有一定角度 ...
如果这样的话,主要的问题是如何判断哪些像素点落在直线上了,不知道谁有比较好的办法?
[ 本帖最后由 ydlcsu 于 2008-12-11 22:08 编辑 ] 刚好翻书看到improfile函数
I=imread('图像');
imshow(I,[ ]);
=improfile
所得的CX,CY就是鼠标划过的线上的坐标值C值是此线上的灰度值
LZ看看help improfile吧 希望能帮你
页:
[1]