查看: 152|回复: 6|关注: 0

[已解决] 根据手绘曲线(拍成图像)拟合函数

[复制链接]

新手

8 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
如图,怎样拟合曲线的函数或者得到散点图呢? 111 (2).jpg

新手

12 麦片

财富积分


050


3

主题

14

帖子

1

最佳答案
发表于 2019-11-5 16:31:34 | 显示全部楼层 |此回复为最佳答案
拍的正一点,matlab读取后转为二值图,然后横坐标和纵坐标就有了,然后曲线拟合

新手

8 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
 楼主| 发表于 2019-11-5 16:41:25 | 显示全部楼层
WangTao_NChM8 发表于 2019-11-5 16:31
拍的正一点,matlab读取后转为二值图,然后横坐标和纵坐标就有了,然后曲线拟合 ...

我是初学者,能告诉我过程代码吗?

新手

12 麦片

财富积分


050


3

主题

14

帖子

1

最佳答案
发表于 7 天前 | 显示全部楼层
RUJINGOU 发表于 2019-11-5 16:41
我是初学者,能告诉我过程代码吗?

我这没有现成的代码,但是步骤就是上面说的,挺简单的。

新手

8 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
自己摸索完成了,哎,初学者不容易
  1. clc;

  2. clear;
  3. close all;
  4. %读入原图像及获取大小

  5. y = imread('1.png');
  6. %y = im2bw(y,0.1)
  7. y = imbinarize(y,0.8);
  8. %   分别读取RGB

  9. a1=y(:,:,1);

  10. %a2=image(:,:,2);

  11. %a3=image(:,:,3);

  12. %  测试RGB输出

  13. imshow(a1)

  14. %subplot(2,2,2),imshow(image_g),title('green component');  

  15. %subplot(2,2,3),imshow(image_g),title('blue component');  

  16. %subplot(2,2,4),imshow(image),title('original image');  
  17. %xlswrite('aa.xlsx',a1)
  18. int_size = size(a1);
  19. k=1;
  20. b=zeros();
  21. for i = 1 : int_size(2)%列
  22.     for j = 1 : int_size(1)%行
  23.         if a1(j,i) ==0
  24.             b(k,1)=i;
  25.             b(k,2)= int_size(1) - j;
  26.             k = k+1;
  27.         end
  28.     end
  29. end
  30. k
  31. x0=b(:,1);
  32.   x1=b(:,2);
  33.   figure(2)
  34.   plot(x0,x1,'r')
  35. %xlswrite('ccc.xlsx',b)
  36.             
复制代码

禁止发言

5 麦片

财富积分



0

主题

267

帖子

0

最佳答案
发表于 7 天前 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

新手

12 麦片

财富积分


050


3

主题

14

帖子

1

最佳答案
发表于 3 天前 | 显示全部楼层
RUJINGOU 发表于 2019-11-7 21:20
自己摸索完成了,哎,初学者不容易

你看这不是挺好的,然后曲线拟合的话,matlab的工具箱是cftool
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表