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

Binaryzacja
Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Post Wysłany: 8 Marca 2017, Sro 7:17 pm Temat postu: Binaryzacja Odpowiedz z cytatem
 
AUTOR:
Weel2
Początki pisania


Dołączył: 07 Mar 2017
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam ,

posiadam taką formułę :

clear all;
close all;
clc;
x=imread('001_1_1.bmp');
xOrig = x;
[xSize ySize] = size(x);
uppThr = max(x(:));
lowThr = min(x(:));
thr = 0.4*uppThr;
%binaryzacja (progowanie):
for i=1:xSize
for j=1:ySize
if(x(i,j) >= thr) x(i,j) = 255;
else x(i,j) = 0;
end
end
end
figure;
imshow(x);

Muszę zrobić coś takiego:

Zamiast progowania zamienić liczbę dziesiętną, reprezentującą piksel, na zapis binarny (funkcja dec2bin) - nie stracimy wtedy na jakości. Proszę pamiętać, że dla kolorowych obrazów mamy 3 wymiary (3 wymiar ma 3 elementy - to kolor).

A na koniec trzeba te wszystkie bity uszeregować w wektor (funkcja reshape)

Przykładowo - jeżeli mamy piksel którego wartość z macierzy wynosi 15 i jest to zmienna typu uint8 (tzn. całkowita bez znaku zapisana na 8 bitach) to można ją zapisać binarnie w postaci 00001111 (najmłodszy bit po prawej stronie). Każda pozycja w zapisie binarnym ma swoja wagę. W prezentowanym przykładzie uwzględniając wagi mamy
0*2^7+0*2^6+0*2^5+0*2^4+1*2^3+1*2^2+1*2^1+1*2^0=15

Czy ktoś może pomóc mi w tym ???


 

Post Wysłany: 9 Marca 2017, Czw 12:55 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
kasztel
Może pisać książki


Dołączył: 10 Maj 2007
Posty: 1046
Skąd: Uniwersytet Warszawski


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Coś mniej więcej takiego:
W pętli
Kod:

M
= [];
for
i=1:xSize
for j=1:ySize
M
= [M reshape(dec2bin(x(i,j,:),8),1,24)];
end
end


RaK


 

Post Wysłany: 9 Marca 2017, Czw 6:30 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Weel2
Początki pisania


Dołączył: 07 Mar 2017
Posty: 5


Ogląda profil użytkownika Wyślij prywatną wiadomość
Możesz wstawić to do mojej formuły do przyznam się że od 3 dni dopiero jestem w Matlabie i nie ogarniam jeszcze jego funkcji ???


 

Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Wyświetl posty z ostatnich:   

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 35660648
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Optymalizowanie portfela  (28 Kwietnia 2017, Pią 11:02 am)
Optymalizowanie portfela  (28 Kwietnia 2017, Pią 10:59 am)
pochodna analityczna i numeryczna  (27 Kwietnia 2017, Czw 6:36 pm)
Poradniki do MATLABa  (27 Kwietnia 2017, Czw 1:11 pm)
Jak symulować metodą Monte Carlo wartość oczekiwaną i  (26 Kwietnia 2017, Sro 3:08 pm)
Miejsce zerowe  (24 Kwietnia 2017, Pon 7:36 pm)
Badanie rozkładu prawdopodobieństwa  (24 Kwietnia 2017, Pon 9:50 am)
zadanie z pętlami  (22 Kwietnia 2017, Sob 5:59 pm)
gęstoś mocy sygnału  (20 Kwietnia 2017, Czw 9:30 pm)
Wycięcie sygnału z pliku za pomocą skryptu.  (20 Kwietnia 2017, Czw 2:34 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