Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Определение основного цвета изображения на PHP

04.06.2016 | Категория: Web-мастеру и не только | Автор: ManHunter
В различных поисковых системах есть возможность поиска изображения по цвету, например, "только синие" или "только зеленые". Естественно, это не означает стопроцентную синюю или зеленую заливку, а определяет преобладающий цвет картинки. Такой цвет называется основным. Алгоритм поиска основного цвета очень простой: надо просто подсчитать суммарные значения по каждому из каналов RGB для каждого пиксела изображения, а затем разделить полученные значения на общее количество пикселов. На PHP это реализуется примерно так:
  1. // Файл для определения основного цвета
  2. $im=ImageCreateFromJPEG('test.jpg');
  3.  
  4. $total_R=0;
  5. $total_G=0;
  6. $total_B=0;
  7.  
  8. // Размеры изображения
  9. $width=ImageSX($im);
  10. $height=ImageSY($im);
  11.  
  12. // Подсчитать суммарные значения по RGB
  13. for ($x=0$x<$width$x++) {
  14.     for ($y=0$y<$height$y++) {
  15.         $rgb=ImageColorAt($im,$x,$y);
  16.         $total_R+=($rgb>>16) & 0xFF;
  17.         $total_G+=($rgb>>8) & 0xFF;
  18.         $total_B+=$rgb 0xFF;
  19.     }
  20. }
  21.  
  22. // Прибраться за собой
  23. ImageDestroy($im);
  24.  
  25. // Определение значений RGB основного цвета
  26. $avg_R=round($total_R/$width/$height);
  27. $avg_G=round($total_G/$width/$height);
  28. $avg_B=round($total_B/$width/$height);
Код минимально необходимый, никаких проверок на наличие файла или корректность его внутреннего формата не производится, это вы можете сделать самостоятельно. После выполнения кода получаются три значения каналов RGB основного цвета изображения.

Читать статью целиком »
Просмотров: 6771 | Комментариев: 4

PCL's Sendmail Emulator 1.3

27.04.2016 | Категория: Мои программы | Автор: ManHunter

PCL's Sendmail Emulator

Sendmail Emulator предназначен для эмуляции программы sendmail при отладке php-скриптов на локальном сервере под Windows. Эмулятор написан для личных нужд, функционал только тот, что был мне необходим. Все письма, отправленные при помощи функции mail(), складываются в заданную папку со всеми заголовками. Для установки программы надо распаковать папку sendmail в удобное для вас место, например в папку с PHP. Никаких записей в систему Sendmail Emulator не вносит, все настройки хранятся в файле конфигурации в папке с программой. После установки эмулятора в файле php.ini надо отредактировать секцию [mail function]:

[mail function]
smtp =
smtp_port =
sendmail_from =
sendmail_path = "полный_путь_к_sendmail\sendmail.exe"

Настройки самого эмулятора выполняются в файле sendmail.ini. Вот краткое описание всех параметров, которые для этого используются.

Читать статью целиком »
Просмотров: 7768 | Комментариев: 17

Распознавание лиц на фотографии с помощью PHP

04.03.2016 | Категория: Web-мастеру и не только | Автор: ManHunter

Распознавание лиц на фотографии с помощью PHP

В социальных сетях давно используется такая функция, как "укажи людей на фотографии". Вы загружаете файл изображения, а скрипт подсвечивает на нем лица людей. Как это делается? Предположу, что у каждой социальной сети используются свои инструменты, доступа к которым со стороны никто не даст. Есть готовые бесплатные инструменты, например, PHP Facedetect, но они требуют доступ к серверу, чтобы установить необходимые компоненты. Это можно сделать только на выделенных серверах, пользователям недорогого виртуального хостинга вряд ли кто-то даст такую возможность. А еще есть общедоступный сервис Microsoft Project Oxford Face, который позволяет разработчикам определять на фотографиях лица, а также пол и примерный возраст людей. Для этого надо зарегистрироваться, получить персональный ключ, и можно передавать файлы на обработку. Вроде бы все хорошо и правильно. Но официальные SDK есть только для дотнета и Java, да и количество бесплатных обращений к сервису ограничено. Вот этим сервисом я и заинтересовался.

Читать статью целиком »
Просмотров: 4811 | Комментариев: 8

PCL's PHPiD 2.1 Public Release

04.02.2016 | Категория: Мои программы | Автор: ManHunter

Скриншот программы PCL's PHPiD

PCL's PHPiD - программа для определения чем зашифрован или обработан PHP-скрипт, всего определяет более 80 различных протекторов и обфускаторов. PCL's PHPiD представляет собой один из модулей закрытого проекта Massacre, снабженный графической оболочкой (файл phpid.exe), а также консольный вариант программы (файл phpid_ce.exe). Поиск, в основном, выполняется по сигнатурам, так что теоретически возможны неточности в идентификации, но мне пока такие скрипты не попадались. Также некоторые обфускаторы используют сходные алгоритмы (например, PHP LockIt! и PHP Defender) и на выходе дают практически одинаковый результат. В этом случае точно определить, чем обработан скрипт, не получится, и будет выбран наиболее похожий вариант. Скрипты также можно передавать через командную строку и drag'n'drop.

Читать статью целиком »
Просмотров: 27181 | Комментариев: 93

Проверка стойкости пароля с помощью подсчета энтропии

18.12.2015 | Категория: Web-мастеру и не только | Автор: ManHunter

Проверка стойкости пароля с помощью подсчета энтропии

Каждому пользователю интернета приходилось регистрироваться на каких-нибудь сайтах или сервисах, и одна из обязательных составляющих любой регистрации - придумывание пароля. Есть даже официальные рекомендации по составлению паролей, не говоря уже о многочисленных статьях на эту тему. Многие сервисы при регистрации пользователя проверяют наличие определенных групп символов в пароле, в результате складывается ситуация, как в верхней половине приведенного здесь комикса. А вот как определить, действительно ли тот или иной пароль является сложным?

Читать статью целиком »
Просмотров: 6760 | Комментариев: 11

01 ... 04 05 06 07 08 09 10 ... 19
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2021
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 3 (0.0459 сек.) / Память: 4.75 Mb
Наверх