Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?
- $data = "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDABQODxIPDRQSERIXFhQYHzMhHxwcHz8tLyUzSkFOTUlBSEZSXHZkUldvWEZIZoxob3p9hIWET2ORm4+AmnaBhH//2wBDARYXFx8bHzwhITx/VEhUf39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3//wAARCAAQAC0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDoLrU2gv8A7Ii2wYorAzXHl7iSRgDac9P1rRHTmqOowXN3HJbIsHkSptZ3Y7l9SBjB7Y5FWpbeKeLyp40lTj5XUMD+dAD2YIpZiAoGST0AqrYX320z/umjET7Ru6sMAg47delSy2kEtqbZowISNuxflAHtjpVew0/7HPdPudllcFd0rOcBQOcnrnP6UATTahZ28hjnu4InHVXkAP5E1NHIkqK8bq6MMhlOQRUM1tLJIWS9uIh/dRYyB+ak1NGpRFVnZyByzYyfyAFAH//Z";
- //Цикл перевода капчи в монохромное изображение
- for($i=0;$i<$width;$i++) {
- for($j=0;$j<$height;$j++) {
- // Получаем RGB пикселя по координате
- // Разбиваем RGB на Red,Green,Blue и записываем каждую составляющую в свою переменную
- //Сравнение белого ли цвета пиксель
- if(($r>=131 && $r <= 256) && ($g>=131 && $g <= 256) && ($b>=131 && $b <= 256)) {
- }
- else {
- }
- }
- }
- // Представление картинки в двоичном виде
- for($j=0;$j<$height;$j++) {
- for($i=0;$i<$width;$i++) {
- $pixels[$j][$i] = ($r==0 && $g==0 && $b==0) ? 1 : 0; // Замена пикселей на свои обозначения
- echo $pixels[$j][$i]; // Вывод бинарной матрицы
- }
- echo "<br>";
- }
- // Out
- echo "<br>Оригинальное изображение капчи: <img src=original.gif></img><br> Бинарное изображение капчи : <img src=mono.gif></img><br>";
- // Ищем координаты
- for($j=0;$j<$height;$j++) { // сначала высота
- for($i=0;$i<$width;$i++) { // потом ширина
- if($pixels[$j][$i] == 1) {
- $pX = $i;
- $pY = $j;
- $i = $width;
- $j = $height;
- if(
- $pixels[$pX][$pY]==1 &&
- $pixels[$pX+4][$pY]==1 &&
- $pixels[$pX][$pY+3]==1 &&
- $pixels[$pX+4][$pY+4]==1 &&
- $pixels[$pX+4][$pY+7]==1 &&
- $pixels[$pX][$pY+8]==1
- )
- {
- $symbol_5 = 5;
- }
- else $symbol_5 = "not recognized.";
- }
- }
- }
- echo "--------------------<br>";
- echo "pX = $pX<br>pY = $pY<br>";
- echo "--------------------<br>";
- echo "Result - ".$symbol_5;
- echo "<br>--------------------<br>";
- // Проверка шаблона
- echo $pixels[$pX][$pY]."<br>"; /* $pixels[$pX+1][$pY+1] Будет 1 */
- echo $pixels[$pX+4][$pY]."<br>"; // 1
- echo $pixels[$pX][$pY+3]."<br>"; /* $pixels[$pX][$pY+3] Будет 1 */
- echo $pixels[$pX+4][$pY+4]."<br>"; // Тут должна быть 1
- echo $pixels[$pX+4][$pY+7]."<br>"; // Тут должна быть 1
- echo $pixels[$pX][$pY+8]; // Тут должна быть 1
- echo "<br>--------------------";
- ?>