За последние 24 часа нас посетил 34161 программист и 1819 роботов. Сейчас ищут 828 программистов ...

Меняется ли индекс пикселя если повернуть изображение?

Тема в разделе "PHP для новичков", создана пользователем drakonik999, 29 мар 2018.

  1. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Я создал цикл который ищет белый пиксель в картинке
    Например оно нашло белый пиксель в 25 ширине 11 высоте
    После чего я поворачиваю изображение на 45 градусов и обратно ищу этот белый пиксель
    Он будет в тех же координатах или нет?
     
  2. vikrorpert

    vikrorpert Активный пользователь

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    нет
    ну если только это не центр квадрата
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Разумеется нет. Ведь, чтобы повернуть картинку, надо....пересчитать смещение цветов всех ее пикселей с учетом поворота.
    При этом сами пиксели, то бишь точки, несущие RGB_значение остаются на месте. Битмап есть битмап.

    Иными словами если у нас до поворота где-то на картинке был пиксель x:y, находящийся на лбу у котика, после чего мы повернули картинку, пиксель x:y останется на своей координате. Но лоб котика теперь укатится в другое место, к пикселю X1:Y1. А наш x:y будет где-то, ну хз, в лапе котика теперь.

    Итого, под вашу задачу ответ таков: белый пиксель поменяет свою координату, а пиксель под индексом i, который ранее содержал белый пиксель, останется на месте..
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    После поворота на 45 градусов, этого одиночного белого пикселя может вообще уже не быть.
     

    Вложения:

    • rotate.png
      rotate.png
      Размер файла:
      30,4 КБ
      Просмотров:
      9
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    GOD DAMN YOU, BREZENHEIM!!!
     
  6. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    У меня функция которая проверяет цвет на каком пикселе.
    Я хочу поворачивать изображение чтобы индекс ширины и высоты вышли ровными,
    то есть
    ширина 10, высота 5
    ширина 11, высота 5
    ширина 12, высота 5
    ширина 10, высота 6
    ширина 11, высота 6
    ширина 12, высота 6

    Но для этого мне надо картинку сделать ровную, так если способом повернуть картинку не получается есть какие то другие идеи?
    вот картинка http://prntscr.com/iyj6wr
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Так, а теперь расскажи, что именно ты делаешь, а не то, как ты это делаешь. Есть вероятность, что то, КАК ты это делаешь - неправильное решение. Какая изначальная цель у этого всего?
     
  8. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    "Для общего развития"
    Программа которая читает цифры с картинки, мне не нужны библиоетки и тд, я для себя
    У меня на черном фоне например есть цифра 7 белыми буквами.
    и я написал функция которая с лево на право находит первый белый пиксель, нашло, заносит в массив высоту и ширину этого пикселя и начинает со следущей строки (высоты)
    После чего я по своей супер секретной формуле, анализирую данные какие пришли на каждую цифру и указываю вероятность что эта цифра 7.
    Но если цифра будет повёрнутая то будет плохо.
    Вот для этого и надо мне поворачивать, картинку на 70 градусов туда и сюда, чтобы сделать цифру относительно ровной.
     
  9. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    ещё один расшифратор капчи :)
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Я где-то слышал, что люди придумали нейросети более полувека назад, и что с текущей задачей справится даже сиране перцептрон однослойный, не говоря уже о сверточных архитектурах.

    Ды вот же. Спотыкающийся о повернутую циферку. И могущий только в один и тот же шрифт.
     
  11. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Ну причём тут нейросети и подобное ему, я говорю для себя. И вопрос стоит в том чтобы повернуть изображние для выравнивании группы пикселей
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1. //define image path
    2. $filename="image.jpg";
    3.  
    4. // Load the image
    5. $source = imagecreatefromjpeg($filename);
    6.  
    7. // Rotate
    8. $degrees = 70;
    9. $rotate = imagerotate($source, $degrees, 0);
    10.  
    11. //and save it on your server...
    12. imagejpeg($rotate, "myNEWimage.jpg");
     
  13. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Поворот картинки - это операция с интерполяцией, поэтому вы вряд ли получите четкую цифру после поворота растрового изображения. Рекомендую вместо этого повернуть вашу сетку координат, в которой вы ищите белые пиксели, а саму картинку не трогать.
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Рекомендую вместо этого просто юзать нейросеть и не надо будет вообще ничего двигать, крутить, вращать, интерполировать, выравнивать, костялить.