Название: Как скопировать часть изображения по пикселям? Отправлено: 0v.v0 от Май 01, 2016, 17:54 Пытаюсь скопировать часть скриншота экрана в отдельное изображение, чтобы затем при запуске его считывать и распознавать присутствие этого элемента на экране. Но почему-то пиксели отличаются, это видно программой-пипеткой, поэтому не получается сравнивать картинки в цикле по каждой точке. Проверял не на скриншоте, а на изображении в файле - от измениться сам по себе не может :)
В чём подвох? Название: Re: Как скопировать часть изображения по пикселям? Отправлено: Bepec от Май 01, 2016, 18:11 А куда вы сохраняете? В какой формат.
Название: Re: Как скопировать часть изображения по пикселям? Отправлено: 0v.v0 от Май 01, 2016, 18:43 Код: bool GetIcon(const QString &name1, const QString &name2) Название: Re: Как скопировать часть изображения по пикселям? Отправлено: lit-uriy от Май 04, 2016, 11:12 глянь в инструментах Qt: %QTDIR%/tools/pixeltool
готовый бинарь лежит в каталоге %QTDIR%/bin (справедливо для Qt 4.x, Винда) Название: Re: Как скопировать часть изображения по пикселям? Отправлено: Igors от Май 04, 2016, 11:31 В чём подвох? В формате "jpg" который "жмет с потерями", т.е. сохраняет не 1:1. Возьмите "png". Также для выкопировки куска удобнее QImage::copy, а если все-таки нужно в циклах по пикселям, то дорогостоящих QImage::pixel/setPixel стараются избегать Название: Re: Как скопировать часть изображения по пикселям? Отправлено: Smogg от Май 06, 2016, 03:39 О, а вот этот вопрос я никак не решу((
Как на картинке найти подкартинку? При условии, что пиксель-точного соответствия нету. Ладно, если есть лишь одно искуемое изображение, можно занятся попиксельным сравнением, а потом отсекать по порогу. И в принципе работало, но с заметной задержкой. Но мне то хочется на большом изображении искать тысячи подкартинок, за интерфейсно-адекватное время. |