Я создал цикл который ищет белый пиксель в картинке Например оно нашло белый пиксель в 25 ширине 11 высоте После чего я поворачиваю изображение на 45 градусов и обратно ищу этот белый пиксель Он будет в тех же координатах или нет?
Разумеется нет. Ведь, чтобы повернуть картинку, надо....пересчитать смещение цветов всех ее пикселей с учетом поворота. При этом сами пиксели, то бишь точки, несущие RGB_значение остаются на месте. Битмап есть битмап. Иными словами если у нас до поворота где-то на картинке был пиксель x:y, находящийся на лбу у котика, после чего мы повернули картинку, пиксель x:y останется на своей координате. Но лоб котика теперь укатится в другое место, к пикселю X1:Y1. А наш x:y будет где-то, ну хз, в лапе котика теперь. Итого, под вашу задачу ответ таков: белый пиксель поменяет свою координату, а пиксель под индексом i, который ранее содержал белый пиксель, останется на месте..
У меня функция которая проверяет цвет на каком пикселе. Я хочу поворачивать изображение чтобы индекс ширины и высоты вышли ровными, то есть ширина 10, высота 5 ширина 11, высота 5 ширина 12, высота 5 ширина 10, высота 6 ширина 11, высота 6 ширина 12, высота 6 Но для этого мне надо картинку сделать ровную, так если способом повернуть картинку не получается есть какие то другие идеи? вот картинка http://prntscr.com/iyj6wr
Так, а теперь расскажи, что именно ты делаешь, а не то, как ты это делаешь. Есть вероятность, что то, КАК ты это делаешь - неправильное решение. Какая изначальная цель у этого всего?
"Для общего развития" Программа которая читает цифры с картинки, мне не нужны библиоетки и тд, я для себя У меня на черном фоне например есть цифра 7 белыми буквами. и я написал функция которая с лево на право находит первый белый пиксель, нашло, заносит в массив высоту и ширину этого пикселя и начинает со следущей строки (высоты) После чего я по своей супер секретной формуле, анализирую данные какие пришли на каждую цифру и указываю вероятность что эта цифра 7. Но если цифра будет повёрнутая то будет плохо. Вот для этого и надо мне поворачивать, картинку на 70 градусов туда и сюда, чтобы сделать цифру относительно ровной.
Я где-то слышал, что люди придумали нейросети более полувека назад, и что с текущей задачей справится даже сиране перцептрон однослойный, не говоря уже о сверточных архитектурах. Ды вот же. Спотыкающийся о повернутую циферку. И могущий только в один и тот же шрифт.
Ну причём тут нейросети и подобное ему, я говорю для себя. И вопрос стоит в том чтобы повернуть изображние для выравнивании группы пикселей
PHP: //define image path $filename="image.jpg"; // Load the image $source = imagecreatefromjpeg($filename); // Rotate $degrees = 70; $rotate = imagerotate($source, $degrees, 0); //and save it on your server... imagejpeg($rotate, "myNEWimage.jpg");
Поворот картинки - это операция с интерполяцией, поэтому вы вряд ли получите четкую цифру после поворота растрового изображения. Рекомендую вместо этого повернуть вашу сетку координат, в которой вы ищите белые пиксели, а саму картинку не трогать.
Рекомендую вместо этого просто юзать нейросеть и не надо будет вообще ничего двигать, крутить, вращать, интерполировать, выравнивать, костялить.