|
Вопрос # 6 602/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Есть изображения одинаковые по содержанию, но разные по ширине/высоте, если из картинки размером 1600x900 я вырежу кусок, то как потом этот кусок найти в таком же изображении, но с другим разрешением там 1920x1200 или 1024x768, вопрос не в самом алгоритме поиска, а как полученный кусок изображения при одном разрешении подогнать к необходимому размеру?
|
Вопрос задал: sergei (статус: Посетитель)
Вопрос отправлен: 15 октября 2015, 13:40
Состояние вопроса: решён, ответов: 1.
|
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, sergei!
Приведу кусок кода из своего проекта по распечатке картинки нужного размера на принтере.
Аналогично масштабируете свои картинки.
Приложение: Переключить в обычный режим- Var B:TBitmap;
- R:TRect;
- Begin
- B:=TBitmap.Create;
- B.LoadFromFile('Logotip.bmp');
- R.Left:=100;
- R.Top:=0;
- R.Right:=R.Left+100;
- R.Bottom:=100;
- Printer.Canvas.StretchDraw(R,B);
- B.Free;
- End;
|
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 15 октября 2015, 20:13
Оценка за ответ: 4
Комментарий к оценке: Спасибо за приведенный код, только не совсем понял как его использовать в моей проблеме, вот в битмап я загрузил нужный кусок изображения от изображения 1600x900, и далее чтобы его масштабировать скажем до такого куска изображения как он бы выглядел на изображении размером 1920x1200 какие значения мне нужно подставить, это каким образом вычисляется?
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 15 октября 2015, 22:25; участников в обсуждении: 2.
|
ANBsoft (статус: Студент), 15 октября 2015, 21:10 [#1]:
Нужно сделать одинакового размера,
соответственно и задавайте одинаковые размеры:
Var B1,B2:TBitmap;
R:TRect;
Begin
B1:=TBitmap.Create;
B1.LoadFromFile('Logotip.bmp');
R.Left:=0;
R.Top:=0;
R.Right:=1920;
R.Bottom:=1200;
B2:=TBitmap.Create;
B2.Width:=1920;
B2.Height:=1200;
B2.Canvas.StretchDraw(R,B1);
B2.SaveToFile('Test.bmp');
B2.Free;
B1.Free;
End;
Только картинки не будут одинаковыми для поточечного сравнения.
При преобразованиях возникают искажения.
Они будут очень похожи, но все-таки разные.
|
|
sergei (статус: Посетитель), 15 октября 2015, 22:25 [#2]:
Да, так и есть к сожалению, решение теперь вижу только заранее иметь все оригиналы кусков под разное разрешение, благодарю за помощь.
|
27 декабря 2015, 13:56: Статус вопроса изменён на решённый (изменил модератор DNK)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|