Zaprogramuj własnego Photoshopa

Podczas warszawskiego spotkania Adobe Creative Suite User Group zaprezentowano możliwości wynikające z integracji popularnego Photoshopa z środowiskiem MATLAB. Efektem tego połączenia jest możliwość wdrożenia w oprogramowaniu Adobe nowych funkcji, które w wysokim stopniu automatyzują pracę grafika lub inżyniera.
MATLAB to środowisko, dzięki któremu możliwa jest automatyzacja rutynowych czynności, jak np. zbieranie danych, ich analiza oraz sprawdzanie otrzymanych wyników. Jak informują twórcy tego oprogramowania, założeniem jest przyspieszenie rozwiązywania różnorodnych problemów naukowo-technicznych, m.in. poprzez ułatwienie dostępu do komputerowych metod stosowanych do obliczeń i wizualizacji. W efekcie stało się ono skutecznym narzędziem, które może zostać wykorzystane do działań badawczych, dydaktycznych, ale również podczas tzw. prac rozwojowych, takich jak inżynieria finansowa czy nauki biologiczne.

Wbrew pozorom - jak okazało się podczas wykładu - Photoshop nie stanowi zamkniętego na zewnętrzne ingerencje programu, który musi zostać przyjęty jedynie z przygotowanym przez jego twórców inwentarzem.

Zautomatyzować codzienność

27 lutego 2009 odbyło się w Warszawie spotkanie Adobe Creative Suite User Group, w którym udział wzięła kilkudziesięcioosobowa grupa użytkowników oprogramowania Adobe. Jednym z zaprezentowanych zagadnień był temat integracji środowiska MATLAB z Adobe Photoshop. Jest to szerzej nieznana funkcja, która nie doczekała się dotychczas wielu publikacji na swój temat.

"Nawet oficjalny polski dystrybutor MATLAB-a przyznał, że był zaskoczony szerokimi możliwościami integracji tego narzędzia z popularnym Photoshopem. Już na etapie przygotowywania prezentacji zainteresował się tym temate" - mówi Jacek Czarnecki, ekspert ds. Adobe z Grupy Adweb.

Środowisko MATLAB opiera się m.in. na tzw. Toolboxach, dzięki którym jest systematycznie rozwijane, by z każdym nowym dodatkiem rosnąć w siłę. Podstawę współpracy z Photoshopem stanowi Toolbox o nazwie "Image Processing". Podczas swojej półtoragodzinnej prezentacji Jacek Czarnecki stwierdził, że możliwości drzemiące w połączeniu programów autorstwa Adobe oraz The MathWorks ograniczone są jedynie naszą wyobraźnią oraz. znajomością matematyki.

"Praca w MATLAB-ie polega na programowaniu matematyki. Program nie stawia jednak przed jego użytkownikami zbyt wygórowanych wymagań jeśli chodzi o obycie z królową nauk. Każdy student, który zaliczył pierwszy rok dowolnych studiów technicznych, powinien poradzić sobie bez najmniejszych problemów, gdyż wszystkie funkcje ilustrowane są czytelnymi przykładami. W przeciwieństwie do innych języków programowania, podstawy MATLAB-a można opanować w ciągu kilku godzin" - przekonuje Jacek Czarnecki.

Jak to wygląda w praktyce

Możliwe jest np. dowolne sterowanie Photoshopem z poziomu wiersza poleceń MATLAB-a, wczytując obrazek do tego programu, a następnie stosując na nim szereg funkcji i filtrów, które zostały napisane przy pomocy oprogramowania MathWorks. Po dokonaniu interesujących zmian w grafice, przekonwertowany obraz może zostać przeniesiony z powrotem do Photoshopa. Jednym z prostszych przykładów tego mezaliansu jest możliwość rozpoznawanie rysów twarzy czy kształtów różnych obiektów, jak np. stopnia okrągłości na podstawie zdjęcia. To ostatnie ma zastosowanie m.in. w automatyce oraz podczas kontroli jakości procesów przemysłowych. Podczas prezentacji pojawiło się również zagadnienie wykorzystania sztucznej sieci neuronowej do identyfikowania znaków, możliwe dzięki procesowi "uczenia się sieci". W rezultacie funkcja ta stanowi podstawę działania wielu znanych - służących do rozpoznawania tekstu - narzędzi OCR.

Jak pokazał wykład pt. "MATLAB i Adobe Photoshop: Integracja", stworzone przez The MathWorks środowisko stanowi uniwersalne narzędzie, które ma zastosowanie na wielu płaszczyznach. Sam prowadzący prezentację stwierdził, że połączenie MATLAB-a z Photoshopem pozwala na uzyskanie efektu "Photoshopa do kwadratu", tzn. użytkownik nie jest zdany wyłącznie na funkcje przygotowane przez twórców tego oprogramowanie, ale samodzielnie może w prosty sposób tworzyć rozwinięcia oraz nowe - automatyzujące zadania - opcje.

Swoje wystąpienie Jacek Czarnecki podsumował stwierdzeniem: "teraz wiemy więcej, niż jest w internecie". Warto mieć świadomość, że nie było to tylko retoryczne stwierdzenie, gdyż ilość dostępnych publikacji na ten temat można policzyć na palcach jednej ręki. Jak zapewnił prowadzący wykład podczas ostatniego Adobe Creative Suite User Group, temat będzie rozwijany i w przyszłości zaowocuje serią artykułów.