Zaloguj się
Blog na Matlab.pl
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Symulacja powtarzalnych pomiarów - puste wykresy Idź do strony Poprzedni  1 2
Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Post Wysłany: 8 Styczenia 2017, Nie 1:21 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
metodą prób i błędów sprawdziłam, która dana wchodząca w skład na wartość emissStdRel jest nie-liczbą. W efekcie znalazłam wartość emisscomponent, która bierze się z (macierzy?) wykonanej funkcją zeros,wartość NaN posiada też wartość signal.
Kod:
% Emissivity component
emissComponent
= zeros(10000,nPoints);
for
i=1:nPoints
emissComponent
(:,i) = cameramodel(signal, ...
emissDistribution(i,:), tAmb, tAtm, humRel, ...
dist, h.alpha1, h.alpha2, h.beta1, h.beta2, ...
h.X, h.R, h.B, h.F, h.obas, h.L, ...
h.globalGain,h.globalOffset);
end
emissStd
= std(emissComponent);
emissStdRel = (emissStd/tObject)*100;

analizując plik cameramode.m (z którego ma wyniknąć wartość signal) znalzłam że chyba wlaśnie tam pobierane są dane z pliku IMG, który wcześniej wybieram do startu programu.
kod programu camerasignal.m
Kod:
function y = readimgdatablock(name, start, adress, ...
typeOfAdress, typeOfData)
%
READIMGDATABLOCK Reads single typed value from the *.img file
% Y = READIMGDATABLOCK(NAME, START, ADRESS,
%
TYPEOFADRESS, TYPEOFDATA)
%
%
NAME - File name
% START - Starting block address
% ADRESS - Data address relative to
% starting block
% address
% TYPEOFADRESS - Data address type:
%    (
0) - hexadecimal,
% (
1) - decimal
% TYPEOFDATA - Data type: ’f’ - float32, ’lu’ - uint32,
% ’l’ - int32, ’s’ - uint16
%
%
Copyright Feb, 2008 by Sebastian Dudzik.
fid = fopen(name,'r','b');
if
typeOfAdress == 0
adres
= start+hex2dec(adress);
else
adres=adress+start;
end
if typeOfData == 'f'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'float32');
elseif
typeOfData == 'lu'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'uint32');
elseif
typeOfData == 'l'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'int32');
elseif
typeOfData == 's'
status = fseek(fid,adres,'bof');
[
y,count] = fread(fid,1,'uint16');
end
status
= fclose(fid);
%
End of READIMGDATABLOCK


Jakie dane pobierane są z pliku IMG ? oraz jak sprawdzić czy zostały one pobrane oraz jakiej są one wartości ?


 

Post Wysłany: 8 Styczenia 2017, Nie 4:48 pm Temat postu: Plik AFF Agema Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 281
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Właśnie w ten sposób działa funkcja `readimgdatablock` ; skacze w określone miejsca plku IMG ( przy pomocy funkcji `fseek` ) oraz wybiera stamtąd kolejne liczby. Rozszerzenie nazwy tego pliku jest nieco mylące, ponieważ rozszerzenie IMG mają pliki "z obrazem dysku" ( a nie pliki graficzne ). Zajrzałem do tego pliku przy pomocy tzw. edytorów hexadecymalnych ( HexEdit , HexFrame i WinHex ). Okazało się, ża na początku pliku jest sygnatura : AFF AGEMA. Poszukałem w Internecie i okazało się, że pliki w takim formacie są generowane przez kamery termowizyjne produkowane przez firmę AGEMA. Niestety format tego pliku nie jest jawny ( mam nadzieję, że uda mnie się dołączyć odpowiedni plik we formacie PDF ). Jedyne, co przychodzi mnie do głowy, to wymiana we wybranych zmiennych ( wektorach ) elementów NaN np. na elementy zerowe. Porgram wprawdzie się wówczas nie "wysypoe", ale czy to będzie zadowalajace zobrazowanie ? Tej wymiany NaN na zera mozna byłoby dokonać w dodatkowej, wbudowanej pętli przeszukującej ów wektor.


 

Post Wysłany: 8 Styczenia 2017, Nie 4:49 pm Temat postu: Uzupełnienie Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 281
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Niestety nie mogę dołączyć żadnego pliku ( to forum nie pozwala ).


 

Post Wysłany: 8 Styczenia 2017, Nie 6:32 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
maladie001
Początki pisania


Dołączył: 05 Sty 2017
Posty: 9


Ogląda profil użytkownika Wyślij prywatną wiadomość
Podpowiedzi dotyczące samego pliku rozwiązały wszystkie kłopoty! Smile Jak zostało słusznie zauważone, pliki te są generowane przez kamerę termowizyjną i prosto z karty pamięci kamery zostały przegrane na komputer. Na tych plikach w programie zewnętrznym firmy FLIR (Agema) zostały przeprowadzone symulacje pomiaru - zamiast przeprowadzania n pomiarów rzeczywistą kamerą, wystarczyło zmieniać wartości w programie. Musiałam jedną z takich symulacji nadpisać w pliku. Udało się odzyskać oryginalne pliki z kamery i wszystko działa! Problem więc okazał się bardziej błahy niż można było przypuszczać Wink

Jestem ogromnie wdzięczna za poświęcony czas i zaangażowanie! Mimo, że błąd powstał właściwie z mojej przyczyny to dzięki temu zrozumiałam jak dokładnie działa i skąd są brane dane obliczeń.


Temat do zamknięcia. Ogromne podziękowania dla użytkownika Jacek Konieczny!! Smile


 

Post Wysłany: 8 Styczenia 2017, Nie 7:46 pm Temat postu: Kamera termowizyjna Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 281
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Gratuluję ! Ostatnie kroki zostały zrobione już w dużym stopniu samodzielnie.


 

Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Wyświetl posty z ostatnich:   
Idź do strony Poprzedni  1 2

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 34485691
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Problem optymalizacji wielokryterialnej  (15 Lutego 2017, Sro 12:06 am)
Zadanie z matlaba  (14 Lutego 2017, Wto 6:48 pm)
pomoc przy wykresie funkcji kwadratowej  (13 Lutego 2017, Pon 7:54 pm)
Współrzędne kartezjańskie uwikłane przy przejściu z układu ?  (13 Lutego 2017, Pon 2:20 pm)
nowe okno po kliknięciu na wykres  (12 Lutego 2017, Nie 6:41 pm)
Pomoc w Matlabie z macierzami  (12 Lutego 2017, Nie 10:28 am)
dodawanie szumu - prosba o pomoc  (10 Lutego 2017, Pią 11:51 am)
wykres do Octave - prośba o pomoc  (9 Lutego 2017, Czw 9:51 pm)
wpisywanie danych do tablicy  (8 Lutego 2017, Sro 8:17 pm)
Pole powierzchni (obraz binarny)  (8 Lutego 2017, Sro 7:55 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum