حفظ صورة في ماتلاب على شكل .txt


(mehdi 23) #1

السلام عليكم و رحمة الله تعالى وبراكته

لدي مشكلة وهي انني لدي صورة (image) لرادار قياس الامطار من نوع bmp وتحتوي على قيم الامطار في كل (pixel) .
المشكلة هي انني اريد حفظ هده الصورة على شكل .txt اي اريد حفظ الاحداتيات (x,y) لكل (pixel) وكدلك قيمة كل (pixel) في ملف .txt

لقد قمت بالعمليات التالية :

clear all
clc
[Im map] = imread(‘06180406.BMP’);
imshow(Im,map);
impixelinfo
save(‘06180406.txt,(‘x,y’)-ascii’);

حصلت على النتائج التالية

5.0196078e-001 5.0196078e-001 0.0000000e+000
0.0000000e+000 0.0000000e+000 5.0196078e-001
5.0196078e-001 0.0000000e+000 5.0196078e-001
0.0000000e+000 5.0196078e-001 5.0196078e-001
7.5294118e-001 7.5294118e-001 7.5294118e-001
7.5294118e-001 8.6274510e-001 7.5294118e-001
6.5098039e-001 7.9215686e-001 9.4117647e-001
0.0000000e+000 0.0000000e+000 0.0000000e+000
0.0000000e+000 0.0000000e+000 7.4901961e-001
0.0000000e+000 0.0000000e+000 7.4901961e-001
0.0000000e+000 0.0000000e+000 7.4901961e-001
0.0000000e+000 0.0000000e+000 7.4901961e-001
0.0000000e+000 3.9215686e-001 9.8823529e-001
0.0000000e+000 3.9215686e-001 9.8823529e-001
0.0000000e+000 3.9215686e-001 9.8823529e-001
0.0000000e+000 3.9215686e-001 9.8823529e-001
0.0000000e+000 3.9215686e-001 9.8823529e-001
0.0000000e+000 8.9411765e-001 9.8823529e-001
0.0000000e+000 8.9411765e-001 9.8823529e-001
0.0000000e+000 8.9411765e-001 9.8823529e-001
0.0000000e+000 8.9411765e-001 9.8823529e-001
0.0000000e+000 8.9411765e-001 9.8823529e-001
2.6666667e-001 9.8823529e-001 0.0000000e+000
2.6666667e-001 9.8823529e-001 0.0000000e+000

الصورة في المرفقات

شكرا مسبقا وجزاكم الله الخير وجعلها في ميزان حسناتكم


(Ahmed) #2

ساحاول افادتك

(Ahmed) #3

[CENTER]قيم الامطار في الصوره كيف تقيسها ؟

يعني في بكسل معين كيف تعرف القيمة ؟ بالالوان ؟

لان صورة bmp عبارة عن 3 صور مع بعضها…
وضح جازاك الله خيرا
[/center]


(mehdi 23) #4

شكرا للك اخي على تفاعلك مع الموضوع
نعم قيمة المطر تقاس بالالوان يعني لكل لون قيمة

جزاك الله الف خير


(Ahmed) #5

[CENTER]هذا ماوصلت اليه بفهمي للمشكلة


close all
clear all
clc


Im  = imread('06180406.BMP');
I=im2double(Im);
[m n]=size(I);

Mat=reshape(I,m*n,1);
[x y]=find(ones(m,n));
Index=[x y Mat];

fid = fopen('test.txt','w');
fprintf(fid,'%3i  %3i %6.4f 
',Index');
fclose(fid);

وهذا مثال على النتيجة


210  184 0.0392 
211  184 0.0392 
212  184 0.0392 
213  184 0.0392 
214  184 0.0392 
215  184 0.0392 
216  184 0.1176 
217  184 0.1137 
218  184 0.1137 
219  184 0.1176 
220  184 0.0392 
221  184 0.0392 
222  184 0.0392 
223  184 0.0392 
224  184 0.0392 
225  184 0.0392 
226  184 0.1137 
227  184 0.1137 

حيث يمثل العمود الاول والثاني الاحداثيات

والثالث قيمة البكسل

اتمنى نكون قربت من الفهم

[/center]


(mehdi 23) #6

شكرا اخي العزيز جعلها الله في ميزان حسناتك
ساجربه الان


(mehdi 23) #7

شكرا جزيلا ويرحم والديك
ما زال عندي 02 مشاكل ادا امكنت تساعدني
الاول على اي اساس تم حساب قيمة المطر
التاني هو اني لدي هده الصور (صور الرادار) لكنها codé لدي الكود الخاص بها في دلفي وانا اريد ان افتحها في ماتلاب لسهولة التعامل معها ان اردت ساضع طلب في المنتدى
شكرا مسبقا
انا محتاج للمساعدة اخي الكريم


(Ahmed) #8

[CENTER]نعم
اشرح لي اكثر حول التشفير ؟

يعني كيف هي مشفره ؟

الصورة استخدمتها انت هي BMP ومكتوبة على 8Bit اي انها تتكون من 256 مستوى لوني
لذلك يجب ان تخبريني بالطريقة التي تريد حساب كمية المطر بها عن طريق اللون كي اساعدك في كتابة البرنامج
[/center]