MatLab - pytanie do obeznanych
Witam.
Mam pewną zagadkę, która może bardzo pomóc, przejdę od razu do rzeczy.
Mianowicie, chodzi o to że potrzebuje funkcji - tudzież skryptu do programu MatLab, który będzie rozjaśniał bądź ściemniał wczytane kolorowe zdjęcie. Z tego co udało mi się znaleźć, to potrzeba użyć 6 pętli lecz niestety więcej nie wiem. Dla obeznanych jest to sprawa oczywista także proszę o pomoc. Dziękuję :)
Parę lat temu na studiach miałem kilka zajęć z pakietów CAM/CAD/CAE lecz mało zostało :)
To tak jak i ja :D
Zasadniczo jest tak - musisz wczytać obraz bmp do trzech tablic.
czerwonej, niebieskiej, zielonej.
No i każdy element każdej tablicy wymnażasz razy odpowiednia wartość.
A potem z tablic generujesz obraz na ekranie, albo plik bmp.
Algorytm jest banalny, ale przypomnienie sobie dokładnej składni, zwłaszcza w kwestii wczytywania/wyświetlania to już nie dla mnie.
A nie, to banalne jest :)
Masz taką funkcję - imread.
Ta funkcja "zwraca" wielowymiarową tablicę zawiarającą obraz. Dla obrazu kolorowego o rozdzielczości xy będzie to tablica o wymiarach xy3. Wystarczy teraz każdy element wymnożyć razy współczynnik rozjaśniania/ściemniania i gotowe.
imwrite zapisze tą tablicę do pliku.
Dziękuję za próbę pomocy, lecz niewiele mi również to dało. Przewertowałem cały zeszyt z tego przedmiotu i niestety mieliśmy tylko operacje matematyczne. Dla kogoś obeznanego jest to chwila moment i już jest gotowy skrypt, także dalej proszę o pomoc ;)
Dziś to dla zabawy zrobię - znalazłem interface webowy do Octave(darmowa "wersja" matlaba) więc nie muszę nic instalować aby się pobawić. .
Byłbym niezmiernie wdzięczny. A dodatkowo, odświeżysz sobie pamięć, z pewnością wyjdzie na dobre.
Ja niestety mialem tylko czystą matematykę na pakietach. Miałem pare ciekawostek na tym przedmiocie i wydaje mi się, że to mogły być zagnieżdżone pętle, choć mogę sie mylić ;)
Sorry że się wczoraj nie udało - z pracy pisałem i zapomniałem że klawiaturę w domu zalałem i nie działa część przycisków :D
A=imread("c:/1.jpg")
# A - tablica zawierająca obrazek 1.jpg, z dysku C. Oczywiście możesz zmienić
b=0.6
#B - współczynnik rozjaśnienia/ściemnienia, tutaj, 0.6
C=A.*b
# - tablica rozjaśniona/ściemniona
imwrite(C,"c:/2.jpg")
#c:/2.jpg - plik wynikowy
------
Krótka wersja - przepisz do matlaba, albo wklej do pliku skryptu. Oczywiście musisz mieć plik 1.jpg na dysku c.
------
A=imread("c:/1.jpg")
b=0.6
C=A.*b
imwrite(C,"c:/2.jpg")
---------
Jeśi potrzebujesz aby współczynnik rozjaśniania był wprowadzany z klawiatury, albo żeby nazwe pliku wbijac z klawiatury, albo żeby współczynnik rozjaśniania sprawdzał czy żadna z wartości nie przekracza 255, albo nie osiąga 0 - da się zrobić - trzeba o to zadbać bo inaczej zmieni się odcień. Natomiast funkcja imwrite zapewne radzi sobie z wartosciami większymi niż 255 więc tym martwić się nie trzeba