Strona 5 z 8 PierwszyPierwszy ... 34567 ... OstatniOstatni
Pokaż wyniki od 41 do 50 z 72

Wątek: #22 Liniowość matrycy i co z tego wynika

  1. #41
    Bywalec Awatar piotrgr
    Dołączył
    Mar 2005
    Miasto
    Elbląg
    Wiek
    60
    Posty
    164

    Domyślnie

    Cytat Zamieszczone przez HuleLam Zobacz posta
    Chyba byłby to podobny problem co konwersja nieliniowo (logarytmicznie) - trudno byłoby zrobić mały, dobrze działający i tani element, który tę operację wykona...
    A jaki tu problem wystarczy inwersja bitów np. dla 8 bitowego max=11111111 po inwersji wyjdzie max=00000000 a dla min odpowiednio odwrotnie. Jak zrealizować najprościej XOR z maska 11111111. Ale takie rozwiązanie wiązało by się ze zmianą sposobu wyświetlania , drukowania itp. na całym sprzęcie, więc jest raczej nie do przeprowadzenia. Lepszym sposobem byłoby chyba zbliżenie konwersji do tego jak widzi człowiek tzn. zmiana przedziałów kwantyzacji w przetworniku A/D. Obecnie wykonywane to jest najprostszym sposobem - matryca liniowo rejestruje natężenie a przetwornik A/D przypisuje wartości poziomom napięcia z równym krokiem a można inaczej porównanie na obrazku.
    __________________
    30D 8) + KIT, EF 28/2.8, EF 50/1.8, S APO SMII 70-300/4-5.6, 420 EX, Sherpa 250R i RUP-43

  2. #42
    Pełne uzależnienie Awatar minek
    Dołączył
    Jan 2005
    Miasto
    Łódź
    Wiek
    47
    Posty
    1 386

    Domyślnie

    Cytat Zamieszczone przez Tomasz Urbanowicz Zobacz posta
    Według mnie, przekształcenie z RAW do JPG/TIFF jest liniowe.
    Nie jest liniowe.
    To całe zamieszanie z gammami ma związek z gammą systemu.
    Gamma systemu to zupełnie inna sprawa, system wyświetla nie tylko jpegi zrobione z rawów, ale też okienka, literki, gierki, filmy i inne mniej lub bardziej potrzebne rzeczy.
    Tak, czy siak, IMO nie występuje w samym konwerterze domyślnie żadne przekształcenie nieliniowe.
    Występuje. To sporo komplikuje, owszem, zwłaszcza przy aplikowaniu innych przekształceń, które zazwyczaj są liniowe.
    W tanich aparatach, które od razu wypluwają jpegi - to przekształcenie nie zawsze nawet przypomina funkcję wykładniczą, zależnie od sensora (lichy sensor - większa nieliniowość nieliniowości, o)
    (...) Zgodnie z teorią o traktowaniu JPG jakąś krzywą każde kolejne zdjęcie powinno być jaśniejsze - a tak nie jest.
    Podczas odczytu RAW należy zastosować przekształcenie podobne do gammy, właśnie po to, by ten jpeg wyglądał tak jak ten który widzisz. Bo to matryca widziała go nieco inaczej i w taki sposób zapisana została pobrana z niej informacja.
    W dodatku o ile się nie mylę, nie mamy za dużego wpływu na tą konwersję, to jest ustawione w programach dla każdego sensora inaczej. Przynajmniej w ACR tego nie znalazłem. UFraw chyba domyślnie ustawia liniowo, tam widać, że trzeba sobie tą krzywą podnieść.

  3. #43
    Pełne uzależnienie
    Dołączył
    Jul 2004
    Miasto
    Staszów
    Wiek
    52
    Posty
    1 709

    Domyślnie

    @minek:
    Piszesz trochę na zasadzie: dlaczego nie? Nie, bo nie.
    Wiesz, na "nie, bo nie" jest argument "tak, bo tak". Na poprzednich stronach pozwoliłem sobie przedstawić mój pkt widzenia rysując wykresy, jakieś tam wyliczenia. Jako, iż faceci w większości są wzrokowcami, przedstaw mi swój pkt widzenia w podobny sposób.

  4. #44
    Pełne uzależnienie Awatar minek
    Dołączył
    Jan 2005
    Miasto
    Łódź
    Wiek
    47
    Posty
    1 386

    Domyślnie

    Dobra, to po kawałku:
    Wykresów i wyliczeń nie tworzę bo nie umiem, a Janusz w pierwszym poście zamieścił wszystkie wymagane i poprawnie.
    Dla uproszczenia weźmy tylko średnią szarość.
    Średnia szarość to taka, która leży pomiędzy czernią a bielą przy danym oświetleniu. 100% to biel, 0% to czerń. 50% (widzialne) to średnia szarość.
    Tak się składa, że aby widzieć te 50%, to powierzchnia w tym kolorze musi odbijać 18% światła (biała odbije 100%, czarna nic) Nie istotne, czy to jest jakaś tam szara scena, piasek, asfalt, czy odbitka zdjęcia zawierająca powyższe - 50% szare odbija 18% światła, koniec, korpka.

    Plik graficzny monochromatyczny 8 bitowy, zawierający informację o powyższej scenie będzie czarne fragmenty opisywał wartością 0, białe 255, a szare 128.
    Pliku oczywiście zobaczyć nie możemy, ale możemy go wyświetlić lub wydrukować, zatem:
    - sprawą monitora jest to, by wyświetlił tak, by to szare świeciło 18% pełnej jego mocy, 100% wyemituje reprezentując biel. Do tego służy gamma monitora, która jest w postaci funkcji wykładniczej. 0.5^(2.4) =~ 0.19 (to, że gammę dobiera się nieco inną wynika zapewne też z nieliniowych charakterystyk monitora)
    - problemem drukarki za to jest, aby w miejscu gdzie w pliku była wartość 128 nałożyć tyle farby na papier, aby odbiła 18% światła.

    Teraz matryca, w uproszczeniu, niechaj będzie 8 bitowa monochromatyczna.
    Rejestruje liniowo w 8 bitach. Przyjmijmy, że mamy warunki pozwalające ją w pełni wykorzystać, czyli bez przepaleń i bez niedoświetleń. Tam gdzie było 100% światła zarejestruje jako swoje 100% czyli 255, tam gdzie 50% - jako 128, ale tam gdzie my widzieliśmy średnio szare, czyli 18% światła - matryca zapisze jedynie wartość 46.

    A przypomnijmy sobie teraz, jaką wartość powinien zawierać 8 bitowy, monochromatyczny plik, żebyśmy widzieli 50% szarość?
    O ile pamiętam, to było 128. 46 będzie dla nas znacznie ciemniejsze. Zatem dane z matrycy przekształcamy funkcją zbliżoną do logarytmu x^(1/gamma), czyli upychamy całość w przedziale [0,1] i mamy: 0.18^(1/2.5) =~0.5.

    Już jasne?

  5. #45
    Pełne uzależnienie
    Dołączył
    Oct 2006
    Miasto
    Kraków/Szczecin
    Wiek
    45
    Posty
    1 641

    Domyślnie

    Cytat Zamieszczone przez piotrgr Zobacz posta
    A jaki tu problem wystarczy inwersja bitów np. dla 8 bitowego max=11111111 po inwersji wyjdzie max=00000000 a dla min odpowiednio odwrotnie. Jak zrealizować najprościej XOR z maska 11111111. Ale takie rozwiązanie wiązało by się ze zmianą sposobu wyświetlania , drukowania itp. na całym sprzęcie, więc jest raczej nie do przeprowadzenia. Lepszym sposobem byłoby chyba zbliżenie konwersji do tego jak widzi człowiek tzn. zmiana przedziałów kwantyzacji w przetworniku A/D. Obecnie wykonywane to jest najprostszym sposobem - matryca liniowo rejestruje natężenie a przetwornik A/D przypisuje wartości poziomom napięcia z równym krokiem a można inaczej porównanie na obrazku.
    Ale to, co napisałeś, nie przeczy moim słowom - z tego co wiem obecnie jest trudno (drogo) zrealizować coś takiego (nierówne /zlogarytmizowane przedziały kwantyacji). Co do negacji - chyba cała idea polega na zrobieniu tego w domenie analogowej, przed konwersją ? Tricki w stylu XOR czy negacji to możemy sobie i na pliku RAW zrobić ?
    Fotograf platoniczny

  6. #46
    Pełne uzależnienie
    Dołączył
    Jul 2004
    Miasto
    Staszów
    Wiek
    52
    Posty
    1 709

    Domyślnie

    Cytat Zamieszczone przez minek Zobacz posta
    Plik graficzny monochromatyczny 8 bitowy, zawierający informację o powyższej scenie będzie czarne fragmenty opisywał wartością 0, białe 255, a szare 128.
    Pliku oczywiście zobaczyć nie możemy, ale możemy go wyświetlić lub wydrukować, zatem:
    - sprawą monitora jest to, by wyświetlił tak, by to szare świeciło 18% pełnej jego mocy, 100% wyemituje reprezentując biel. Do tego służy gamma monitora, która jest w postaci funkcji wykładniczej. 0.5^(2.4) =~ 0.19 (to, że gammę dobiera się nieco inną wynika zapewne też z nieliniowych charakterystyk monitora)
    Tu się trochę zagalopowałeś.
    Wypadkowa monitor-system ma być liniowa - tu też w zasadzie koniec i kropka. Po to kalibruje się monitor na zadaną gammę systemu, aby to zrównoważyć/zlinearyzować.

    Resztę zrozumiałem - chyba wszystko jasne
    Ostatnio edytowane przez Tomasz Urbanowicz ; 19-12-2008 o 19:37

  7. #47
    Pełne uzależnienie
    Dołączył
    Nov 2006
    Miasto
    Warszawa
    Posty
    1 580

    Domyślnie

    Chyba główne założenie wywodu jest jednak błędne, bo wartość RGB=(128,128,128 ) przekłada się na CMYK=(0,0,0,50%) - tak przynajmniej pokazuje GIMP, może źle.

  8. #48
    Pełne uzależnienie Awatar minek
    Dołączył
    Jan 2005
    Miasto
    Łódź
    Wiek
    47
    Posty
    1 386

    Domyślnie

    Cytat Zamieszczone przez Tomasz Urbanowicz Zobacz posta
    Tu się trochę zagalopowałeś.
    Wypadkowa monitor-system ma być liniowa - tu też w zasadzie koniec i kropka. Po to kalibruje się monitor na zadaną gammę systemu, aby to zrównoważyć/zlinearyzować.
    Nie wiem co dokładnie rozumiesz przez wypadkowa monitor-system, ale tak, ma być liniowa _dla oka_. Czyli monitor nie może świecić liniowo, bo nie odbierał byś tego liniowo. Gamma monitora zamienia liniowy sygnał na wizyjny, tak by odbierany był prawidłowo przez człowieka (szarość nie może być równa 50% maksymalnej mocy świecenia monitora, tylko 18%)
    Gamma systemu to informacja dla systemu, jak ustawiony jest monitor, by wysłać odpowiednio skorygowany sygnał, żeby wyglądał dobrze.
    Myślę, że tu się jednak zgadzamy.

    Cytat Zamieszczone przez michalab Zobacz posta
    Chyba główne założenie wywodu jest jednak błędne, bo wartość RGB=(128,128,128 ) przekłada się na CMYK=(0,0,0,50%) - tak przynajmniej pokazuje GIMP, może źle.
    W fotoszopie wygląda jeszcze inaczej, często CMY są niezerowe. To wszytko zależy od ustawionego profilu CMYK czyli zadanego sposobu generacji czerni, maksymalnej ilości farby itp.

  9. #49
    Bywalec Awatar piotrgr
    Dołączył
    Mar 2005
    Miasto
    Elbląg
    Wiek
    60
    Posty
    164

    Domyślnie

    Z tego co mnie wiadomo to na temat A/D to jest to możliwe do realizacji przy takim załozeniu jak na rysunku wsztkie przedziały EV z taką samą ilością poziomów - zmiast jednego 12 bitowego prztwornika jeden 9 bitowy i jeden 3 bitowy. 9 bitowy wylicza warotść w przedziale a 3 bitowy zmienia przedziały.
    __________________
    30D 8) + KIT, EF 28/2.8, EF 50/1.8, S APO SMII 70-300/4-5.6, 420 EX, Sherpa 250R i RUP-43

  10. #50
    Pełne uzależnienie
    Dołączył
    Jul 2004
    Miasto
    Staszów
    Wiek
    52
    Posty
    1 709

    Domyślnie

    Minek namieszałeś strasznie.

    Po pierwsze założenie jest że matryca jest liniowa - i tego się trzymajmy.
    Skoro tak, to szarość 50% trafi na matryce tak samo jak do naszego oka tj. 18% odbitego światła. Dlaczego ma do matrycy trafić inaczej?? Trafi tak samo: czy zarówno do nas, jak i do matrycy będzie przy szarości 50% - 18% odbitego światła. Po co więc ma być przekształcenie nieliniowe przy konwersji? Nie ma IMO czegoś takiego, bo to byłoby bez sensu. Sens by był wtedy, gdyby matryca wyłapała więcej niż 18% światła, ale przecież nie wyłapie, bo 50% szarość odbija tylko 18%, a matryca jest liniowa więc na "wyjśćiu" matrycy będzie również "18%".
    Jeśli nadal będziesz się przy tym upierał, pokaż mi w jakimś algorytmie RAW -> JPG taką nieliniową konwersje.

    Trzecia sprawa to ta gamma. Wypadkowa monitor-system jest liniowa y=x (taka ma być przy prawidłowo skalibrowanym monitorze). System nadaje z y=x^2.2, monitor jest nieliniowy (to zaszłość z CRT) i "nadaje" y=x^1/2.2. Wypadkowa jest liniowa - możesz to sprawdzić w lafocie, czy basiccolor.
    Mało tego, jak zauważysz przy kalibracji basiccolor przy RGB=128 luminancja wskazywana jest na 50%.
    Ostatnio edytowane przez Tomasz Urbanowicz ; 20-12-2008 o 20:28

Strona 5 z 8 PierwszyPierwszy ... 34567 ... OstatniOstatni

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •