Oczywiście, że się da. Jeżeli masz zdjęcie or rozmiarach 800x600 to należy zrobić tablice o rozmiarze(800*600) chyba 48000 jednostek czyli komórek i do każdej proponuję w pętli wykonać polecenie
imagecolorat($SURCE,$X,$Y) Gdzie $Source to oczywiście uchwyt do fotki, a $x i $y to poziom i pion fotki.
Uważaj: Musisz jednaj pamiętać, że istnieje coś takiego jak kompresja fotek i podobieństwo kolorów. Jeżeli napiszesz kod który pobiera kolor każdego pixela to na takiej fotce masz 48000 *8 bajtów pamięci(albo 16 zależy jak php sobie to rozszyfruje) ale już na fotce 2048*1024 tych komórek będziesz miał grubo ponad 100000 i może ci się machina trochę zmęczyć

proponuję wykorzystać podobieństwo kolorów i odczytywać powiedzmy co 10 bajt. ale to tak w formie ciekawostki.