Jestem przeważnie wektorem, ale przy bieżącym projekcie muszę pracować z kilkoma starymi zeskanowanymi mapami papierowymi (mapy szkód bombowych z Londynu, jeśli jesteś zainteresowany!)
Przeskanowaliśmy i dokonaliśmy georeferencji map, a teraz chcemy utworzyć kafelkową warstwę kompozytową do wyświetlania na stronie internetowej. Oczywiście wytniemy granice, nie o to tutaj chodzi.
Problem polega na tym, że między blaszkami mapy występują nieestetyczne różnice kolorów i jasności. Nie jestem pewien, jak je wyrównać, aby uzyskać spójny wygląd. Czytałem o wyrównywaniu histogramu, ale mój obecny zestaw narzędzi (Manifold GIS, GDAL, GeoServer) nie wydaje się mieć wymaganej funkcjonalności.
Przykład 4 skanów już georeferencyjnych:
gdal
imagery
optimization
paper
petzlux
źródło
źródło
Odpowiedzi:
Można to zrobić w GIMP http://www.gimp.org/
Musisz utworzyć niestandardową paletę kolorów - odczyta każdy załadowany obraz i najlepiej dopasuje się do pikseli, zmuszając kolory do zbliżenia się do siebie.
Możesz także ograniczyć kontrast i jasność w podobny sposób
http://gimp.open-source-solution.org/manual/gimp-tool-brightness-contrast.html
http://docs.gimp.org/en/gimp-palette-dialog.html
Aby uzyskać więcej szczegółowych informacji, możesz użyć funkcji Wyrównanie z histogramem
http://docs.gimp.org/en/gimp-layer-equalize.html
Można to zautomatyzować za pomocą funkcji makra skryptu fu.
http://www.squidoo.com/gimp-how-to-write-a-script-fu-macro
źródło
Innym sposobem jest użycie oprogramowania do łączenia zdjęć (panoram). Hugin jest przykładem darmowego i otwartego projektu, który właśnie to robi i jest wyposażony w enblend, który może zająć się różnicami jasności. Nie musisz marnować palet, po prostu wybierz obraz z najlepszym oświetleniem / kolorami jako źródłem mieszania. Najpierw jednak musisz odciąć granice.
źródło
Próba, którą zasugerowałbym, to zastosowanie technik wyrównania histogramu.
Istnieją techniki mapowania każdej wartości piksela na nową zrównoważoną wartość za pomocą funkcji skumulowanego rozkładu (cdf).
Na przykład, jeśli masz chmury na obrazie 1 i obrazie 2 i jest to jaśniejszy obiekt na obrazie, na obu obrazach są one białe, ale w mozaice zdajesz sobie sprawę, że jedna chmura jest nieco bielsza od drugiej. W 1 średnia wartość piksela w chmurze wynosi 200, dlatego w 2 jest to 240. Za pomocą cdf można przekształcić wartości pikseli, korzystając z prawdopodobieństwa wystąpienia, dzięki czemu niezależnie od wartości, jeśli jest to jaśniejszy obiekt, zostanie odwzorowany na wartość 255 pikseli.
może sprawić, że wszystkie obrazy staną się wspólnym odniesieniem, poprawiając również kontrast.
Próbowałem napisać coś w tym temacie kilka razy temu i na pierwszy rzut oka jest to niemożliwe w github. Śmiało pytaj.
https://github.com/rupestre-campos/histogram_equalize
źródło