问题描述:
已知图片中的曲线,利用Matlab编程实现提取曲线中点的数据。
输入:图片文件
所用到的主要函数:rgb2gray
代码是参考网上教程
如下:
clear all;clc;close all;
%% 图1数据读取
im2 = imread('a1.png');im2 =rgb2gray(im2);
Data_Len1=size(im2,2);
Data_Len=Data_Len1;
Data1 =zeros(1,Data_Len);
imtmp = im2;
imtmp = imtmp(1:end-1,:)+imtmp(2:end,:);
[~,imtmp_idx] =min(imtmp(:,1:Data_Len));
Data1(1,:) = (size(imtmp,1)-imtmp_idx)/ size(imtmp,1)*100;
Data1=Data1.';
输出点的数据在Excel中画图如下:
缺点:
1.当图片中曲线有背景时或坐标轴时,不能处理。
2.还原原始数据时,需要知道横纵坐标的范围。