24小时热门版块排行榜    

查看: 1921  |  回复: 14

alexander5366

木虫 (著名写手)

[交流] 【求助】关于Matlab的求助(采集导入图片坐标上的点)【已解决】已有6人参与

如题,关于采集Matlab中导入图片上坐标的点。请各位大侠、英雄好汉,不吝赐教。感激不尽!

[ Last edited by alexander5366 on 2010-5-26 at 15:36 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

Well,good
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

coolee

金虫 (正式写手)

同问此问题

同问此问题
求上得其中,求中得其下,求下得其下下!
2楼2010-05-25 13:20:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yqx1985

木虫 (著名写手)

云中仙

alexander5366(金币+2):请大侠指点 2010-05-25 15:10:06
问题不够清晰
人面不知何时去,桃花依旧笑春风
3楼2010-05-25 14:09:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alexander5366

木虫 (著名写手)

引用回帖:
Originally posted by yqx1985 at 2010-05-25 14:09:06:
问题不够清晰

具体是:我现在有一张图片(如图),现在需要得到曲线上点的坐标(希望取的点的个数可以设置)
Well,good
4楼2010-05-25 15:09:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yqx1985

木虫 (著名写手)

云中仙

alexander5366(金币+4):多谢你提供的MfigExtract软件 2010-05-25 15:49:41
引用回帖:
Originally posted by alexander5366 at 2010-05-25 15:09:24:

具体是:我现在有一张图片(如图),现在需要得到曲线上点的坐标(希望取的点的个数可以设置)

不知道你用matlab嘛?
如果用的话,试试下面的链接,里面提到个软件MfigExtract
http://www.ilovematlab.cn/viewth ... ighlight=%2Byqx1985
你试试看,如果不行再说
人面不知何时去,桃花依旧笑春风
5楼2010-05-25 15:29:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alexander5366

木虫 (著名写手)

引用回帖:
Originally posted by yqx1985 at 2010-05-25 15:29:03:

不知道你用matlab嘛?
如果用的话,试试下面的链接,里面提到个软件MfigExtract
http://www.ilovematlab.cn/viewth ... ighlight=%2Byqx1985
你试试看,如果不行再说

多谢,不过用Imread命令导入图片后生成的fig文件软件不能识别x、y坐标
Well,good
6楼2010-05-25 15:48:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杨小军

铁杆木虫 (著名写手)

alexander5366(金币+1):多谢回帖交流 2010-05-25 18:30:18
源图像是fig格式的吗?不是的话,我觉得读不出来啊
个人博客:http://blog.sciencenet.cn/home.php?mod=space&uid=431053
7楼2010-05-25 16:58:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alexander5366

木虫 (著名写手)

引用回帖:
Originally posted by 杨小军 at 2010-05-25 16:58:50:
源图像是fig格式的吗?不是的话,我觉得读不出来啊

源图像不是fig格式的,所以,这里卡住了...
Well,good
8楼2010-05-25 18:29:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yqx1985

木虫 (著名写手)

云中仙

alexander5366(金币+3):问题已解决,多谢你提供的帮助 2010-05-26 15:29:41
引用回帖:
Originally posted by alexander5366 at 2010-05-25 18:29:58:

源图像不是fig格式的,所以,这里卡住了...

晕,看来你对matlab不是很了解

把要分析的图片保存为:test.jpg

按照下面的代码操作

[FileName,PathName] = uigetfile('*.*','Select a Figure');%选择test.jpg
I=imread([PathName,FileName]);
saveas(gcf,'test','fig');

这样便在当前文件夹下生成了fig文件

然后你再用哪个软件试试

不过由于你的图片里面有很多东西,建议用PS去掉没用的
人面不知何时去,桃花依旧笑春风
9楼2010-05-26 11:50:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alexander5366

木虫 (著名写手)

引用回帖:
Originally posted by yqx1985 at 2010-05-26 11:50:06:

晕,看来你对matlab不是很了解

把要分析的图片保存为:test.jpg

按照下面的代码操作

[FileName,PathName] = uigetfile('*.*','Select a Figure');%选择test.jpg
I=imread([PathName,FileName]);
sav ...

多谢!
这个问题刚刚解决,用的代码是:
function digitize_Alex(imgfilename,min_x,max_x,min_y,max_y)
    im=imread('D:\Alq(xiedian).bmp');%读入图片
    [y,x]=find(im==0);%找出图形中的“黑点”的坐标。该坐标是一维数据。
    y=max(y)-y;%将屏幕坐标转换为右手系笛卡尔坐标
    y=fliplr(y);%fliplr()——左右翻转数组

    figure;
    plot(x,y,'r.','Markersize', 2);

    disp('请在Figrure中先后点击实际坐标框的两个顶点,然后回车确定……');
    [Xx,Yy]=ginput(2);%Xx,Yy——指实际坐标框的两个顶点
    disp('请输入两个顶点的实际坐标:');
    min_x=input('最小的x值');
    max_x=input('最大的x值');
    min_y=input('最小的y值');
    max_y=input('最大的y值');
    x=(x-Xx(1))*(max_x-min_x)/(Xx(2)-Xx(1))+min_x;
    y=(y-Yy(1))*(max_y-min_y)/(Yy(2)-Yy(1))+min_y;
    figure;
    plot(x,y,'r.','Markersize', 2);
end

Matlab还是两年前粗略学过,都忘的差不多了,呵呵。谢谢你的帮助!
Well,good
10楼2010-05-26 15:28:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 alexander5366 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见