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



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


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: 1042
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



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


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

Aktualnie online:




Najnowsze posty na forum:
Porównianie wykresów w środowisku matlab i simulink  (24 Marca 2017, Pią 2:14 am)
Komunikat Struct contents reference from a non-struct array  (23 Marca 2017, Czw 9:06 pm)
Problem z zadaniem  (23 Marca 2017, Czw 6:53 pm)
Styczna do odpowiedzi skokowej  (22 Marca 2017, Sro 11:43 am)
Zadanie z Scilab. (Wykonanie skryptu.)  (21 Marca 2017, Wto 5:06 pm)
metody rozwiazywania rownan liniowych  (20 Marca 2017, Pon 10:19 pm)
Metoda Latin Hypercube Sampling  (19 Marca 2017, Nie 7:31 pm)
Kombinacje na zbiorach  (19 Marca 2017, Nie 11:48 am)
Wypełnianie macierzy wektorami  (18 Marca 2017, Sob 8:11 pm)
Zamodelowanie bloku metalowego  (18 Marca 2017, Sob 11:50 am)
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