Mam projekt, w którym próbuję zrównoważyć obciążenie między kilkoma urządzeniami komputerowymi. Urządzenia te są podobne i powinny mieć segment kamery. Urządzenie przechwytuje obraz, a następnie przetwarza obraz.
Dla uproszczenia chcę rozważyć obciążenie jako liczbę obrazów oczekujących w kolejce procesów, ale wymaga to, aby obrazy były tego samego rozmiaru i miały te same specyfikacje.
Moje pytanie brzmi więc, czy obrazy tego samego aparatu mają ten sam rozmiar? Wiem, że kompresja zdjęć i konwersja ich do formatu .jpeg prawdopodobnie zmieni ich rozmiar, ale co powiesz na surowe obrazy tego samego aparatu? Czy surowe obrazy mają ten sam rozmiar?
Odpowiedzi:
Zdjęcie warte tysiąc komórek arkusza kalkulacyjnego, oto histogram wielkości plików RAW z mojego aparatu na 2018 rok (EOS 70D, 20Mpx). Rozmiary są w tysiącach K (nie tak naprawdę MB).
Dla matematycznie skłonnych:
źródło
Wiele aparatów cyfrowych stosuje bezstratną kompresję z plikami raw. Oznacza to, że rozmiar nieprzetworzonych plików z tej samej kamery jest nieco zależny od zawartości.
Im więcej szczegółów i różnych kolorów zawiera scena, tym większy będzie plik. Im więcej jednorodności zawiera scena, tym mniejszy będzie plik. Stopniem różnic będą również rządzić różnice w rzeczach, takich jak hałas w ciemnych obszarach (hałas zwykle zwiększa rozmiar pliku, tworząc większą liczbę unikalnych poziomów jasności).
źródło
Trochę dodatkowych informacji: jeśli plik raw zawiera podgląd (zazwyczaj tak jest), który prawdopodobnie zostanie skompresowany w formacie JPEG i spowoduje niewielką zmianę rozmiaru pliku.
Sprawdzając niektóre nieprzetworzone pliki CR2, które sfotografowałem wczoraj (trzymam starego Canona 350D na biurku), 3 ujęcia zasadniczo tej samej sceny różnią się o około 3%. Bawiłam się oświetleniem i używałam bardzo czarnego tła, więc jedno z nich ma zarówno rozświetlone pasemka, jak i (prawie) czystą czerń, które dobrze kompresują się nawet bezstratnie.
Jednak jeśli chodzi o równoważenie obciążenia, prawdopodobnie wszystko jest w porządku: uśrednione na rozsądnej liczbie obrazów, obciążenie będzie wystarczająco podobne, chyba że twój system znajduje się na krawędzi, a transfer lub dekompresja są ograniczone.
źródło
Istnieją dwa główne typy metod kompresji:
Jak wspomniałeś, JPEG jest metodą kompresji stratnej, która wykorzystuje pewne matematyczne sztuczki do zapisywania danych, a zatem utraty informacji o obrazie, co powoduje utratę jakości.
Zasadniczo, jeśli zapiszesz zdjęcie i zapiszesz informacje o kolorze dla każdego piksela bez kodowania, wówczas każde zdjęcie najprawdopodobniej będzie miało dokładnie ten sam rozmiar.
Ale ponieważ istnieją metody kompresji bezstratnej, możesz zapisać rozmiar pliku bez utraty jakości. Najbardziej podstawowym przykładem byłoby kodowanie w czasie wykonywania, w którym można łączyć identyczne kolejne informacje, a tym samym oszczędzać miejsce, które trzeba by przechowywać po kolei. Na przykład przechowujesz informacje takie jak „2 białe, 3 czarne” zamiast mówić „biały, biały, czarny, czarny, czarny”.
Powoduje to kompresowanie zdjęć bez dużej rozbieżności do względnie małych rozmiarów plików, przy czym nie jest to możliwe dla osób z dużą zmiennością.
Dlatego różne surowe zdjęcia wykonane tym samym aparatem najprawdopodobniej będą miały różne rozmiary plików.
źródło
Może to zależeć od aparatu, ale w przypadku mojego aparatu Canon EOS 7D Mark II różne surowe obrazy zdecydowanie nie są tego samego rozmiaru:
Wszystkie są dość zbliżone, ale zdecydowanie istnieje pewna wariancja, która wynika przede wszystkim z kompresji surowych danych z czujników, a także metadanych i osadzonego obrazu podglądu JPG.
źródło
Teraz, jeśli interesują Cię również mniej popularne marki, oto jak Sony obsługuje RAW.
Aktualnie używane pliki RAW (rozszerzenie pliku „.ARW”) występują w 2 typach: 8 bitów na piksel (zwany „Compressed RAW”) i 16 bitów na piksel („Nieskompresowany RAW”). Niektóre kamery są ograniczone do 8 bitów, zaawansowane kamery mogą pisać dowolny typ.
W związku z tym wszystkie pliki RAW z danego aparatu mają prawie taki sam rozmiar, równy liczbie megapikseli (dla 8 bitów) lub dwukrotności liczby megapikseli (dla 16 bitów). Rzeczywiste rozmiary plików zmieniają się nieco ze względu na osadzony podgląd JPEG, ale same dane RAW są zawsze stałe.
źródło
Pliki RAW mogą mieć dokładnie taki sam rozmiar, ale w praktyce prawie zawsze nie. Powody obejmują:
Nie wiedząc dokładnie, jakich urządzeń używasz, nie możesz bezpośrednio i dokładnie odpowiedzieć na twoje pytanie.
źródło
Prosta odpowiedź na twoje pytanie:
Pliki RAW z tej samej kamery, nagrane w tej samej rozdzielczości, najprawdopodobniej nie będą miały podobnego rozmiaru, jeśli używasz plików RAW, które są albo bezstratne, albo luźno skompresowane.
Z drugiej strony, jeśli nie zostaną skompresowane, różnica wielkości między nimi będzie nieistotna dla kamer z czujnikami o dużej liczbie pikseli (> = 30 megapikseli i> = 12 bitów), a głównie ze względu na osadzony podgląd JPEG w plikach raw (luźno skompresowany z definicji).
źródło