Usuwanie tła oddziela obiekt od otoczenia, dzięki czemu można go umieścić na przezroczystości, zamienić scenę lub wkomponować w nowy projekt. Pod maską szacujesz maskę alfa — nieprzezroczystość na piksel od 0 do 1 — a następnie komponujesz pierwszy plan z użyciem kanału alfa na czymś innym. To jest matematyka z Porter–Duff i przyczyna typowych pułapek, takich jak „frędzle” i alfa prosta a premultiplikowana. Praktyczne wskazówki dotyczące premultiplikacji i koloru liniowego można znaleźć w notatkach Win2D firmy Microsoft, Sørena Sandmanna i opracowaniu Lomonta na temat mieszania liniowego.
Jeśli możesz kontrolować przechwytywanie, pomaluj tło na jednolity kolor (często zielony) i wyklucz ten odcień. Jest to szybkie, sprawdzone w filmie i telewizji oraz idealne do wideo. Kompromisy to oświetlenie i garderoba: kolorowe światło rozlewa się na krawędzie (zwłaszcza włosy), więc użyjesz narzędzi do usuwania rozlania, aby zneutralizować zanieczyszczenie. Dobre wprowadzenia obejmują dokumentację Nuke, Mixing Light i praktyczne demo Fusion.
W przypadku pojedynczych obrazów z nieuporządkowanym tłem, algorytmy interaktywne potrzebują kilku wskazówek od użytkownika — np. luźnego prostokąta lub gryzmołów — i tworzą ostrą maskę. Kanoniczną metodą jest GrabCut (rozdział książki), który uczy się modeli kolorów dla pierwszego planu/tła i iteracyjnie wykorzystuje cięcia grafowe do ich rozdzielenia. Podobne pomysły zobaczysz w Zaznaczaniu pierwszego planu w GIMP opartym na SIOX (wtyczka ImageJ).
Matowanie rozwiązuje problem częściowej przezroczystości na delikatnych granicach (włosy, futro, dym, szkło). Klasyczne matowanie w formie zamkniętej przyjmuje trimapę (zdecydowanie-pierwszy plan/zdecydowanie-tło/nieznane) i rozwiązuje układ liniowy dla alfy z dużą dokładnością krawędzi. Nowoczesne głębokie matowanie obrazu uczy sieci neuronowe na zbiorze danych Adobe Composition-1K (dokumentacja MMEditing) i jest oceniane za pomocą metryk takich jak SAD, MSE, Gradient i Connectivity (wyjaśnienie benchmarku).
Powiązane prace nad segmentacją są również przydatne: DeepLabv3+ udoskonala granice za pomocą kodera-dekodera i splotów atrous (PDF); Mask R-CNN generuje maski dla poszczególnych instancji (PDF); a SAM (Segment Anything) to sterowany promptami model podstawowy, który generuje maski w trybie zero-shot na nieznanych obrazach.
Prace akademickie raportują błędy SAD, MSE, Gradient i Connectivity na Composition-1K. Jeśli wybierasz model, szukaj tych metryk (definicje metryk; sekcja metryk Background Matting). W przypadku portretów/wideo MODNet i Background Matting V2 są skuteczne; w przypadku ogólnych obrazów „obiektów wyróżniających się”, U2-Net jest solidną podstawą; w przypadku trudnej przezroczystości FBA daje lepsze rezultaty.
Format PBM (Portable Bitmap) jest jednym z najprostszych i najwcześniejszych formatów plików graficznych używanych do przechowywania obrazów monochromatycznych. Jest częścią pakietu Netpbm, który obejmuje również PGM (Portable GrayMap) dla obrazów w skali szarości i PPM (Portable PixMap) dla obrazów kolorowych. Format PBM został zaprojektowany tak, aby był niezwykle łatwy do odczytu i zapisu w programie oraz aby był jasny i jednoznaczny. Nie jest przeznaczony do samodzielnego użytku, lecz raczej jako najmniejszy wspólny mianownik do konwersji między różnymi formatami obrazów.
Format PBM obsługuje tylko obrazy czarno-białe (1-bitowe). Każdy piksel na obrazie jest reprezentowany przez pojedynczy bit – 0 dla bieli i 1 dla czerni. Prostota formatu sprawia, że jest łatwy do manipulowania za pomocą podstawowych narzędzi do edycji tekstu lub języków programowania bez potrzeby korzystania ze specjalistycznych bibliotek przetwarzania obrazu. Jednak ta prostota oznacza również, że pliki PBM mogą być większe niż bardziej zaawansowane formaty, takie jak JPEG lub PNG, które wykorzystują algorytmy kompresji w celu zmniejszenia rozmiaru pliku.
Istnieją dwie odmiany formatu PBM: format ASCII (zwykły), znany jako P1, oraz format binarny (surowy), znany jako P4. Format ASCII jest czytelny dla człowieka i można go utworzyć lub edytować za pomocą prostego edytora tekstu. Format binarny nie jest czytelny dla człowieka, ale jest bardziej oszczędny pod względem miejsca i szybszy do odczytu i zapisu dla programów. Pomimo różnic w przechowywaniu, oba formaty reprezentują ten sam typ danych obrazu i można je konwertować między sobą bez utraty informacji.
Struktura pliku PBM w formacie ASCII rozpoczyna się od dwubajtowego magicznego numeru, który identyfikuje typ pliku. Dla formatu PBM ASCII jest to „P1”. Po magicznym numerze znajduje się spacja (odstępy, znaki TAB, CR, LF), a następnie specyfikacja szerokości, która jest liczbą kolumn na obrazie, po której następuje więcej spacji, a następnie specyfikacja wysokości, która jest liczbą wierszy na obrazie. Po specyfikacji wysokości znajduje się więcej spacji, a następnie rozpoczynają się dane pikseli.
Dane pikseli w pliku ASCII PBM składają się z serii „0” i „1”, przy czym każde „0” reprezentuje biały piksel, a każde „1” reprezentuje czarny piksel. Piksele są ułożone w wierszach, przy czym każdy wiersz pikseli znajduje się w nowym wierszu. Spacje są dozwolone w dowolnym miejscu w danych pikseli, z wyjątkiem sekwencji dwuznakowej (nie są dozwolone między dwoma znakami sekwencji). Koniec pliku jest osiągany po odczytaniu szerokość*wysokość bitów.
Natomiast binarny format PBM zaczyna się od magicznego numeru „P4” zamiast „P1”. Po magicznym numerze format pliku jest taki sam jak w wersji ASCII, aż do momentu rozpoczęcia danych pikseli. Binarne dane pikseli są pakowane w bajty, przy czym najbardziej znaczący bit (MSB) każdego bajtu reprezentuje najbardziej wysunięty na lewo piksel, a każdy wiersz pikseli jest wypełniany w razie potrzeby, aby wypełnić ostatni bajt. Bity wypełnienia nie są istotne i ich wartości są ignorowane.
Format binarny jest bardziej oszczędny pod względem miejsca, ponieważ wykorzystuje pełny bajt do reprezentowania ośmiu pikseli, w przeciwieństwie do formatu ASCII, który wykorzystuje co najmniej osiem bajtów (jeden znak na piksel plus spacja). Jednak format binarny nie jest czytelny dla człowieka i wymaga programu, który rozumie format PBM, aby wyświetlić lub edytować obraz.
Tworzenie pliku PBM programowo jest stosunkowo proste. W języku programowania takim jak C można otworzyć plik w trybie zapisu, wyprowadzić odpowiedni magiczny numer, zapisać szerokość i wysokość jako liczby ASCII oddzielone spacją, a następnie wyprowadzić dane pikseli. W przypadku ASCII PBM dane pikseli można zapisać jako serię „0” i „1” z odpowiednimi podziałami wierszy. W przypadku binarnego PBM dane pikseli muszą być spakowane w bajty i zapisane do pliku w trybie binarnym.
Odczytywanie pliku PBM jest również proste. Program odczytuje magiczny numer, aby określić format, pomija spacje, odczytuje szerokość i wysokość, pomija więcej spacji, a następnie odczytuje dane pikseli. W przypadku ASCII PBM program może odczytywać znaki jeden po drugim i interpretować je jako wartości pikseli. W przypadku binarnego PBM program musi odczytywać bajty i rozpakowywać je na poszczególne bity, aby uzyskać wartości pikseli.
Format PBM nie obsługuje żadnej formy kompresji ani kodowania, co oznacza, że rozmiar pliku jest wprost proporcjonalny do liczby pikseli na obrazie. Może to skutkować bardzo dużymi plikami w przypadku obrazów o wysokiej rozdzielczości. Jednak prostota formatu sprawia, że jest idealny do nauki przetwarzania obrazu, do użytku w sytuacjach, gdy wierność obrazu jest ważniejsza niż rozmiar pliku, lub do użytku jako format pośredni w procesach konwersji obrazu.
Jedną z zalet formatu PBM jest jego prostota i łatwość manipulowania nim. Na przykład, aby odwrócić obraz PBM (zamienić wszystkie czarne piksele na białe i odwrotnie), można po prostu zastąpić wszystkie „0” na „1” i wszystkie „1” na „0” w danych pikseli. Można to zrobić za pomocą prostego skryptu lub programu do przetwarzania tekstu. Podobnie inne podstawowe operacje na obrazach, takie jak obracanie lub odbijanie lustrzane, można zaimplementować za pomocą prostych algorytmów.
Pomimo swojej prostoty format PBM nie jest szeroko stosowany do ogólnego przechowywania lub wymiany obrazów. Wynika to przede wszystkim z braku kompresji, co czyni go nieefektywnym do przechowywania dużych obrazów lub do użytku w Internecie, gdzie przepustowość może być problemem. Nowocześniejsze formaty, takie jak JPEG, PNG i GIF, oferują różne formy kompresji i są lepiej przystosowane do tych celów. Jednak format PBM jest nadal używany w niektórych kontekstach, szczególnie w przypadku prostych grafik w rozwoju oprogramowania oraz jako narzędzie dydaktyczne do nauki koncepcji przetwarzania obrazu.
Pakiet Netpbm, który obejmuje format PBM, zapewnia kolekcję narzędzi do manipulowania plikami PBM, PGM i PPM. Narzędzia te umożliwiają konwersję między formatami Netpbm a innymi popularnymi formatami obrazów, a także podstawowe operacje przetwarzania obrazu, takie jak skalowanie, przycinanie i manipulowanie kolorami. Pakiet jest zaprojektowany tak, aby był łatwo rozszerzalny, z prostym interfejsem do dodawania nowych funkcji.
Podsumowując, format obrazu PBM jest prostym, bez zbędnych dodatków formatem pliku do przechowywania monochromatycznych obrazów bitmapowych. Jego prostota sprawia, że jest łatwy do zrozumienia i manipulowania, co może być korzystne w celach edukacyjnych lub w przypadku prostych zadań przetwarzania obrazu. Chociaż nie nadaje się do wszystkich zastosowań ze względu na brak kompresji i wynikające z tego duże rozmiary plików, pozostaje użytecznym formatem w określonych kontekstach, w których jego zalety są najbardziej korzystne. Format PBM, wraz z resztą pakietu Netpbm, nadal jest cennym narzędziem dla osób pracujących z podstawowym przetwarzaniem obrazu i konwersją formatów.
Ten konwerter działa w całości w Twojej przeglądarce. Po wybraniu pliku jest on wczytywany do pamięci i konwertowany do wybranego formatu. Następnie możesz pobrać przekonwertowany plik.
Konwersje rozpoczynają się natychmiast, a większość plików jest konwertowana w mniej niż sekundę. Większe pliki mogą zająć więcej czasu.
Twoje pliki nigdy nie są przesyłane na nasze serwery. Są one konwertowane w Twojej przeglądarce, a następnie pobierany jest przekonwertowany plik. Nigdy nie widzimy Twoich plików.
Obsługujemy konwersję między wszystkimi formatami obrazów, w tym JPEG, PNG, GIF, WebP, SVG, BMP, TIFF i innymi.
Ten konwerter jest całkowicie darmowy i zawsze będzie darmowy. Ponieważ działa w Twojej przeglądarce, nie musimy płacić za serwery, więc nie musimy pobierać od Ciebie opłat.
Tak! Możesz konwertować dowolną liczbę plików jednocześnie. Wystarczy wybrać wiele plików podczas ich dodawania.