利用matlab提取图片中的曲线数据

上传人:沈*** 文档编号:88238506 上传时间:2022-05-10 格式:DOC 页数:13 大小:642KB
返回 下载 相关 举报
利用matlab提取图片中的曲线数据_第1页
第1页 / 共13页
利用matlab提取图片中的曲线数据_第2页
第2页 / 共13页
利用matlab提取图片中的曲线数据_第3页
第3页 / 共13页
点击查看更多>>
资源描述
利用Matlab提取图图片中的数据从事科研或者工程的人员在文档撰写过程中,常需要将文献中的曲线与自己的结果对 比,为获取原始数据,一种常用的办法是手动描点,即将原始曲线放大然后打印出来,选取 一定数量的点,读出其横纵坐标,然后重绘。对于较为平坦的曲线,这种方法当然可行,但 当曲线数量增加,曲线变化复杂,这种方法工作量可想而知。前段时间由于原始数据丢失, 仅剩几十幅图片,本人尝试过手动描点,经历几个小时奋战,实在无法继续,索性转向matlab, 借助其强大的数据处理能力,编写了两个GUI的小软件image2data、data_poly提取数据,如今大功告成,遂于大家分享。2010-12-26 yc97463240本文分三部分:1、数据提取实验演示;2、软件编写要点;3、附录。仅关心如何使用 的朋友请看第一部分,有兴趣深入钻研的兄弟看看第二部分,软件以功能实现为主,界面和操作其次。1、数据提取演示实验原始数据来源:安华高科技数据手册(HSMP-38XX and HSMP-48XX Series ),如图1所示。目标曲线:提取1MHz频率下的PIN二极管电容与反偏电压之间关系曲线。REVERSE HQLTAG叵(V)Figuie RF Capacltaim vs. Reverse Bias, HSMP-341D Series.图1包含目标曲线的原始图像实验步骤:Stepl :制作jpg图片。paste到ppt的空白页面当中,然后调从pdf中copy上述包含目标曲线和坐标的曲线, 整到合适的大小 save as figure1.jpg到我的文档。文件 矯叩 規图 A1)辖式歟 IMO)幻灯片曲破密 国口 ivEREVERSE VOLTAGE V)Fisme L RF CctpciUnce vs. Reverse Bins, MSMP-3810 Series.M.4图3导入图像并输入相关参数Step3:坐标轴标定。按下面板上的zoom on按钮进行图像放大,zoom out按钮恢复初始显示大小,pan on按 钮采用鼠标拖动图像,pan on/off按钮退出放大或者拖动的鼠标操作模式,空格键表示取点 操作,delete键表示删除上一次取点操作,状态栏的num显示当前鼠标取点总数目(注意,初始点数为2,然后存处4个坐标轴标定坐标,剩余用来存储曲线坐标)。值得指出的是,每次放大或者拖动操作完毕后,必须按下pan on/off按钮,才能用空格键进行取点操作。la.fc图4坐标轴定标Step4 :曲线描点。cpx和cpy用于显示当前坐标按照上述操作反复进行图像放大、拖动、取点,状态栏的(注意,这个坐标图像坐标,y轴方向向下,后面坐标变换需要考虑),下图给出了描点完毕后的曲线,可以看出取点基本代表了曲线的全部信息。frequency100a 特I_I_j一l_0: 4 R 1014 16 1$ 20REVERSE VOLTAGE (V)4ONodu150098 Be-0911689735c-0016.36324100014-899959fie-(l01他-unli.UjyiiOSSe-BDl9.66 06599e-a013.9441218e-0011.1149913e*OO03.8786699 c-0011.363612e+0003-77Wl92e-0011.5Q7774ie*KIH3.7ioei3e-a0i1.7fie9B99e0003.6164171e-0011-977B775eO903.5*072ii5e-a012_3941116e+O003-4182805e-0012.70U722Se+UUB3.a*a9236e-B013.128960Ke*0093.25M2e B013.5268549e*0003.1756187e-O013-9142756e+HW03,11506Me-OO1U.235lie71e*0BBaadfiserae-boii|.i|770E7e*OO93.0309217-091U.8165877e+O002-9877229c-0015,3422.92049 m-BOI5.6*28013e*aB02.SS665D9e-B016.6486957e*a092.8404616e-0916.6502032e*0092-7873fi00e-B01图7数据记录文本Step6:数据后处理。由于以上数据是手动选取的,故分布不够均匀,下面我们通过数据拟合,然后重新采样得到等间距的数据(可能大家会问,为什么两个功能不做在一起呢?数据拟合是个比较麻烦 的事情,本组曲线采用多项式拟合即可,可对于更多的曲线采用指数函数、正弦函数等才能得到比较好的结果,matlab中的cftool工具箱就包含了很多的拟合函数,为避免重复工作,仅编写了 data poly这个小软件用来数据拟合再采样,其他的拟合就靠cftool 了)。运行data_poly, nth代表多项式拟合的阶数(一般 6就够用了),num代表重新采样的数据个数,其他几个就不用解释了,默认输入文本为data.txt,输出文本为ndata.txt,数据拟合结果如下图所示。图8数据拟合再采样结果至此,数据提取过程完毕,可能操作上有些不便(毕竟只是小工具而已),但比起手动描点的速度和精度,可谓小巫见大巫。2、软件编写要点这两个小软件从构思到完成大概用了两天,功能的完成绝大部分归功于matlab丰富的函数库和方便的 GUI,其中用到的主要函数主要有:imread, imshow, findobj, num2str, strcat,load, save, get, set.列表如下,更详细的介绍请参阅 matlab help文档。表1主要函数列表IndexFunction Descripti on1fin dobjLocate graphics objects with specific properties2 getQuery object properties3imreadRead image from graphics file4 imsh()WDisplay image5 loadLoad workspace variables from disk6nu m2strConvert nu mber to stri ng7saveSave workspace variables to disk8 setSet object properties9strcatCon cate nate stri ngs horiz on tally除了上述函数的掌握之外,还需要对matlab的GUI数据结构和函数响应有一定的理解,在此就不多讲了(多看 matlab help相关例程就明白了)。编写程序之前,首先心中要有一个框架,做些什么,怎么做,顺序如何等。本软件的结 构如下图所示:数据后处理:拟合、重新采样、存储图9程序流程示意导入图像程序段:h_temp=fi ndobj(tag ,edit8 );str_img=strcat(get(h_temp,Stri ng), .jpg ); %get full name of pictureimage_temp=imread(str_img);imshow(image_temp);%read and show创建数据结构程序段:han dles.cpx=0;han dles.cpy=0;% gloable variables for curre nt positi on of mousehan dles.idata=zeros(2,2);% the key variable for obta ining curve dataguidata(hObject, han dles);坐标轴定标及坐标变换:%obta in in put axis imformatio ntemp=str2 nu m(get(fi ndobj(tag,editl),stri ng);xmi n=temp;temp=str2 nu m(get(fi ndobj(tag,edit2),stri ng);xmax=temp;temp=str2 nu m(get(fi ndobj(tag,edit3),stri ng);ymi n=temp;temp=str2 nu m(get(fi ndobj(tag,edit4),stri ng);ymax=temp;%save axis to global variable idata idata(1:2,:)=xmi n,xma x;ymi n,y max; idata=idata;ha ndles.idata(3:e nd,:);axis_p=idata(3:6,:);data_p=idata(7:e nd,:);% class idataxpm in=axis_p(3,1); xpmax=axis p(4,1);ypmi n=axis_p(1,2); ypmax=axis_p(2,2); %coord in ate tran sform data_ new=data_p;data_ new(:,1)=data_p(:,1)-xpm in;data_ new(:,2)=ypmax-data_p(:,2);data_ new(:,1)=data_ new(:,1)/(xpmax-xpm in);data_ new(:,2)=data_ new(:,2)/(ypmax-ypm in);data_ new(:,1)=xm in+data_ new(:,1)*(xmax-xm in); data_ new(:,2)=y min+data_ new(:,2)*(ymax-y min); %save results as a new variable idata(7:e nd,:)=data_ new;han dles .n ewidata=idata; guidata(hObject,ha ndles);数据后处理代码段:%obta in in put data p=polyfit(x,y, n);x=ha ndles.data(:,1); y=ha ndles.data(:,2);n=str2double(get(fi ndobj( n p=str2double(get(fi ndobj( xmin=str2double(get(fi ndobj( xmax=str2double(get(fi ndobj( %data fitting and samlpingtag , edit1 ), string );tag , edit2tag, edit3tag, edit4),string );),string);),string);xn ew=xmi n:(xmax-xmi n)/(n p-1):xmax;yn ew=polyval(p,x new);%save results and plot curveplot(x,y, -*b,xn ew, yn ew,-+r);legend( orignal, fitting);han dles .n data=x new, yn ew;guidata(hObject,ha ndles);3、附录3.1描点数据列表in dexxyin dexxy10.0663900.4432563110.0774380.25322320.1481530.4380023210.5563350.25086330.2415960.4319473311.2237890.24725740.3934420.4257133411.8078090.24378450.5458010.4168973512.3618110.24111260.6363240.4099963612.9750330.23848570.7940100.4039413713.4441890.23630480.9660660.3944123814.0398910.23376691.1149910.3878673914.4895870.231361101.3636120.3770924014.9058770.229847111.5037770.3710814115.3672530.227755121.7609900.3616424215.7614670.226464131.9770780.3540724316.3033020.224371142.3941120.3418284416.9136040.221877152.7007230.3343924517.2815370.220497163.1209610.3250424617.8184570.218983173.5268550.3175624718.3148750.216891183.9142760.3115064818.7295300.215510194.2354870.3066094919.3399400.214397204.4778560.3030025019.7020320.212972214.8165880.2987725119.9852820.212216225.3420310.292049235.6428010.288665246.0486960.284346256.6502030.278736267.0823790.274862277.7841300.269030288.2338260.265512298.8966760.260792309.3960130.2578093.2数据拟合结果Lin ear model Poly9:fittedmodel1(x)= p5*xA5=p1*xA9 + p2*xA8 + p3*xA7 + p4*xA6 + p6*xA4 + p7*xA3 + p8*xA2 + p9*x + p10Coefficie nts(with 95% con fide nee boun ds):pl=1.116e-010 (5.79e-011,1.653e-010)p2=-1.047e-008 (-1.528e-008,-5.669e-009)p3=4.105e-007 (2.304e-007,5.905e-007)P4=-8.65e-006 (-1.231e-005,-4.986e-006)P5=0.0001044 (6.051e-005,0.0001483)p6=-0.0006919 (-0.001006,-0.0003775)p7=0.001806 (0.0005058,0.003107)p8=0.005695 (0.002846,0.008543)p9=-0.06124 (-0.06399,-0.05849)p10=0.4474 (0.4466,0.4482)3.3、重新采样数据列表in dexxyin dexxy10.0000000.4473685110.1010100.25309820.2020200.4352425210.3030300.25196230.4040400.4236555310.5050510.25085640.6060610.4126615410.7070710.24977550.8080810.4022915510.9090910.24871861.0101010.3925615611.1111110.24768171.2121210.3834755711.3131310.24666081.4141410.3750215811.5151520.24565391.6161620.3671825911.7171720.244658101.8181820.3599326011.9191920.243671112.0202020.3532406112.1212120.242691122.2222220.3470736212.3232320.241715132.4242420.3413926312.5252530.240744142.6262630.3361606412.7272730.239776152.8282830.3313376512.9292930.238810163.0303030.3268876613.1313130.237846173.2323230.3227716713.3333330.236886183.4343430.3189556813.5353540.235930193.6363640.3154056913.7373740.234980203.8383840.3120887013.9393940.234036214.0404040.3089787114.1414140.233101224.2424240.3060487214.3434340.232177234.4444440.3032737314.5454550.231266244.6464650.3006357414.7474750.230370254.8484850.2981137514.9494950.229491265.0505050.2956937615.1515150.228630275.2525250.2933627715.3535350.227789285.4545460.2911077815.5555560.226970295.6565660.2889217915.7575760.226173305.8585860.2867968015.9595960.225397316.0606060.2847278116.1616160.224642326.2626260.2827088216.3636360.223907336.4646470.2807388316.5656570.223189346.6666670.2788158416.7676770.222486356.8686870.2769378516.9696970.221795367.0707070.2751048617.1717170.221111377.2727270.2733168717.3737370.220432387.4747480.2715748817.5757580.219752397.6767680.2698788917.7777780.219069407.8787880.2682289017.9797980.218379418.0808080.2666259118.1818180.217681428.2828280.2650709218.3838380.216974438.4848490.2635629318.5858590.216264448.6868690.2621019418.7878790.215555458.8888890.2606879518.9898990.214861469.0909090.2593189619.1919190.214198479.2929290.2579939719.3939390.213591489.4949500.2567119819.5959600.213076499.6969700.2554709919.7979800.212698509.8989900.25426610020.0000000.212516
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!