کلیدستان

نسخه‌ی کامل: ذخیره تصاویر با فرمت BIP (کمک)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با سلام
بنده می خوام برنامه ای بنویسم که به کمک اون تصویر ورودی که 200 بانده است خوانده شده سپس با فرمت BIP ذخیره شود
توضیح بیشتر : یک تصویر در 200 باند در محیط متلب به صورت یک ماتریس 200 بُعدی ظاهر می شود که اگر اسم ماتریس اصلی a باشد اسم  200  تای دیگه میشه

کد:
(1,:,:)a

تا

کد:
(200,:,:)a

حالا مشکل بنده اینجاست که مجموعه این 200 تا ماتریس و به شکل ذیل در قالب فایل متنی ذخیره کنم
می خوام ابتدا عدد سطر  اول و ستون  اول همه ماتریس ها خوانده شده و در یک ماتریس 1 در 200 ذخیره شده سپس عدد سطر  اول و ستون  دوم همه ماتریس ها خوانده شده و درادامه ماتریس ذخیره شده قبلی ذخیره شود یعنی ماتریس ما 1 در 400 شود و همین کار تکرار شود تا تمام اعداد سطر اول همه ماتریس ها خوانده شده و به سراغ سطر دوم ماتریس ها رفته و عملیات تکرار شود و خروجی ها به صورت ماتریس تک سطر به ماتریس خروجی اول افزوده شوند
پس در آخر یک ماتریس با یک سطر و تعداد زیادی ستون خواهیم داشت که می خواهم آن را به صورت فایل متنی ذخیره کنم
ممنون اگر کمک کنید

بنده ی قسمتایی از این برنامه رو نوشتم که البته ناقص و باید کاملش کنم 

کد:
;clc
;clear all
;close all

(   )  a=imread
       (1,:,:)a1      =     a
.
.
.
       (200,:,:)a200      =     a

(f   =  numel   (a
(pixel=zeros(1:  f*200
nn=0
mm=0
for
 i=a1:a200
 nn=1:200
mm=1:200
(pixel=i(nn:mm
end 
سلام.
برای ذخیره به صورت فایل متنی، مبحث زیر را بخوانید :

http://www.kelidestan.com/matlab/matlab-161.php

فرمت BIP را دقیقا نمی دانم به چه صورت است، باید ساختار آن را بررسی کنید.
 
سلام

تشکر از راهنمایی شما 

فرمت BIP فرمتی هست که  از هر ماتریس  اولین عدد سطر اول رو تو تمام ماتریس ها می خونه و یه ماتریس تک سطر با چندین ستون ( تعداد ماتریس ها ) خروجی می ده بعد سراغ دومین عدد از سطر اول میره و تا آخرین ماتریس همرو میخونه و در ادامهء همون ماتریس خروجی اول خروجی میده و همین جور تا آخر اعداد متناظر رو تو تمام ماتریس ها میخونه در آخر یه ماتریس تک سطره  متشکل از تمام اعداد میده بیرون

ممنون اگر راهنمایی بفرمایید
واقعا کسی نمی خواد کمک کنه؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!
من مواردی که حدس میزدم کمکتون کنه رو تذکر دادم. بقیه، کدنویسی هست که زمانبره و باید خودتون کدها رو بنویسید. 
 

 
کد:
close all
clc
[a1,a2,a3]=size(a);
p=0;
for i=1:a1
p=p+1;
for j=1:a2
for k=1:a3
b(p)=a(i,j,k);
end
end
end
for ii=1:2:floor(a1/2)
b(ii+2)=[b(ii),b(ii+1)];
end

کد بالا مشکل داره ولی کلیت کار به شکل بالا باید باشه ، حالا اگه ادمین یا دیگر دوستان کمک کنند ، کد تکمیل میشه.
(۱۳۹۲/۰۸/۱۹, ۱۰:۲۳ ب.ظ)'4i469x' نوشته: [ -> ]
کد:
close all
clc
[a1,a2,a3]=size(a);
p=0;
for i=1:a1
p=p+1;
for j=1:a2
for k=1:a3
b(p)=a(i,j,k);
end
end
end
for ii=1:2:floor(a1/2)
b(ii+2)=[b(ii),b(ii+1)];
end

کد بالا مشکل داره ولی کلیت کار به شکل بالا باید باشه ، حالا اگه ادمین یا دیگر دوستان کمک کنند ، کد تکمیل میشه.

 


آقا دست شما درد نکنه همین کافیه مطلب و گرفتم