zoukankan      html  css  js  c++  java
  • 用matlab提取jpg曲线数据或者jpg图片重新复原

    I = imread('111.jpg');%读取处理好的图片,必须是严格坐标轴线为边界的图片
    I=rgb2gray(I);           %灰度变化
    I(I>200)=255;           %二值化
    I(I<=200)=0;            %二值化
    imshow(I)                 %显示图片
    
    [y,x] = find(I==0);     %找出曲线的像素位置
    y = max(y) -y;           %将屏幕坐标转换为有手系迪卡坐标
    y = fliplr(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 = -15;%原始图像起点坐标x
    yo = -30;%原始图像起点坐标x
    xl = 30;    %原始图像x轴长
    yl=70;      %原始图像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([-15,15,-30,40])
    下面第一幅图是原图像,第二幅是复原图像

  • 相关阅读:
    Node Express4.x 片段视图 partials
    SVG知识难点
    MongoDB的安装和配置成服务的三种方法和一些难点
    git的使用
    单击获取索引的两种方式
    IOTA初识
    开始写博客啦
    虚拟化技术
    可信计算概论
    负载均衡
  • 原文地址:https://www.cnblogs.com/Kermit-Li/p/6829778.html
Copyright © 2011-2022 走看看