![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 24.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
nie potrafiłem znaleźć podobnego tematu w Google, więc za wczasu spytam, czy realizacja poniższego pomysłu w PHP ma sens, o ile jest w ogóle wykonalna. Załóżmy, że mam JPG 200x200px z białym tłem i czerwonym trójkątem na środku. Chciałbym wiedzieć, jaką powierzchnię ma ten trójkąt - może to być przykładowo % całego obrazu. Jedyny pomysł jaki przyszedł mi do głowy, to przelatywanie piksel po pikselu i odczytywanie wartości koloru, później zliczanie. Docelowo chciałbym znać jaki % (lub powierzchnia) w obrazku jest zajęta przez kolory inne niż tło - kolor tła mogę wziąć z piksela 0x0y. Czy ktoś ma pomysł jak się do tego zabrać? Czy nie PHP-ędy droga? Miłęgo, Grzegorz |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Nie ma innego sposobu.
Chyba że poszukujesz skomplikowane algorytmy które dokładnie wizualizują co jest na obrazie. Jednakże jeżeli wiesz że tło będzie zawsze jednolite np. białe, to możesz wyszukać parametry 3 prostych i w ten sposób stworzyć trójkąt. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W Imagick jest gotowa funkcja do tego: http://php.net/manual/en/imagick.getimagehistogram.php
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 24.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
W Imagick jest gotowa funkcja do tego: http://php.net/manual/en/imagick.getimagehistogram.php Dzięki, dokładnie tego szukałem. Poniżej wstępny kod, który bierze kolor piksela 0x0y i oblicza %, jaki ten kolor zajmuje w obrazku. W moim przypadku dużo rzeczy jeszcze w kodzie pozmieniam, ale wrzucam, jeżeli w przyszłości ktoś będzie miał podobny pomysł.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A czy wstępna posteryzacja obrazu nie uwolni Cię od sprawdzania czy dany piksel jest artefaktem czy też pochodzi z antialiasingu?
http://php.net/manual/en/imagick.posterizeimage.php -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 24.10.2017 Ostrzeżenie: (0%) ![]() ![]() |
A czy wstępna posteryzacja obrazu nie uwolni Cię od sprawdzania czy dany piksel jest artefaktem czy też pochodzi z antialiasingu? http://php.net/manual/en/imagick.posterizeimage.php Świetna rzecz. Muszę przejrzeć możliwości imagick, bo rzeczywiście przydatnych funkcji multum. Dziękuję za cynk. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:37 |