美文网首页
【乱点技能树】MATLAB读取曲线图并重新绘制

【乱点技能树】MATLAB读取曲线图并重新绘制

作者: 冬风十里Y | 来源:发表于2018-04-08 22:30 被阅读215次

最近需要从datasheet中读取某款相机的光谱响应曲线,发现下面这段代码[1]。但是最后发现和自己的需求并不匹配,自己是要最终求出曲线的函数,完成由离散的点到数学公式的转换过程。这个小demo能够实现的仅仅是re-draw the pictures.

I = imread('target.png');%读取处理好的图片,必须是严格坐标轴线为边界的图片
I=rgb2gray(I);           %灰度变化
I(I>200)=255;           %二值化
I(I<=200)=0;            %二值化
imshow(I)                 %显示图片
figure;
[y,x] = find(I==0);     %找出曲线的像素位置
y = max(y) -y;           %将屏幕坐标转换为有手系迪卡坐标
plot(x,y,'r.','markersize',2)%显示转换后的图像
[Xx,Yy]= ginput(2);       % 读取真是坐标左上角和右下角的两点
min_x = min(Xx);
max_x = max(Xx);
min_y= min(Yy);
max_y = max(Yy);
% x1 = (x-Xx(1))*(max_x-min_x)/(Xx(2)- Xx(1))+min_x;
% y1 = (y-Yy(1))*(min_y-max_y)/(Yy(2)- Yy(1))+max_y;
%% 坐标变化,如果坐标原点不为0,则需在该轴加上省去的坐标轴数
xo = 0;%原始图像起点坐标x
yo = 0;%原始图像起点坐标x
xl = 3;    %原始图像x轴长
yl=25;      %原始图像y轴长
x1 = (x - min(Xx))*xl/(max(Xx)-min(Xx))+xo ;%数据点x值
y1 = (y - min(Yy))*yl/(max(Yy)-min(Yy))+yo;%数据点y值
plot(x1,y1,'r.','markersize',2)
axis([0,3,0,25])

原图:


原图

效果图:


效果图
  1. 用matlab提取jpg曲线数据或者jpg图片重新复原

相关文章

  • 【乱点技能树】MATLAB读取曲线图并重新绘制

    最近需要从datasheet中读取某款相机的光谱响应曲线,发现下面这段代码[1]。但是最后发现和自己的需求并不匹配...

  • Matlab

    Matlab读取带有地理信息的图像 目前需要读取遥感影像并对像元值进行重新计算后再输出图像。 代码如下: [A, ...

  • MATLAB绘制双刻度曲线图

    数据:这里准备的是两个相同维度的行向量~ 主要用于刻画一个对象在不同标准的测量值,最终绘制的双刻度曲线图如下所示:...

  • 01-01 Reading and plotting stock

    读取并绘制股票数据 读取AAPL csv 数据到DataFrame 计算最高收盘价 计算平均成交量 绘制股价数据 ...

  • Matlab:定位Cell数组中的NaN

    前言 昨天在使用Matlab读取Excel数据时,发现在读取时Matlab会将空白数据读取为NaN,将其它数据以字...

  • RGB转YCbCr

    在MATLAB中 在Python中 方法一:利用skimage中的转换函数 方法二:利用公式计算 读取图片,并获取...

  • Android View

    1. View绘制机制 1.1 View树的绘制流程 判断是否需要重新计算视图大小(measure) 是否重新需要...

  • matplotlib作图

    类MATLAB API 加载方式from pylab import * 图形绘制与matlab相似 matplot...

  • 2018-01-18 R

    Day 1 重新学习R 使用R和相关数据 绘制简单图表 和matlab差不多 1. Intro line gra...

  • python可视化笔记

    1、绘制多个subplot 绘制多个brand的模型的auc、pr曲线图: 绘制曲线,3个brand、3种算法,因...

网友评论

      本文标题:【乱点技能树】MATLAB读取曲线图并重新绘制

      本文链接:https://www.haomeiwen.com/subject/bcqvhftx.html