用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])
下面第一幅圖是原圖像,第二幅是復原圖像

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM