Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

Сшивка изображений   Найти похожие ветки 

 
vbazik   (2002-04-11 18:28) [0]

Есть два фрагмента изображения, полученные путем сканирования картинки на сканере с некоторым перекрытием. Необходимо сшить (объединить) два изображения. Проблемы возникают при больших размерах фрагментов. Кто пробовал решать подобную задачу поделитесь опытом. Спасибо


 
CyberStorm   (2002-04-13 05:42) [1]

Сшивку сканированных изображений имеющих частичное перекрытие друг друга можно осуществить путем привязки ключевых точек (реперных) на обеих картинках. Раз есть перекрытие, значит на обоих картинках есть общие точки, вот их и отмечаешь. Затем создаешь TBitmap с размером равным двум картинкам рисуешь в нем первую картинку, затем вычисляешь координаты второй картинки с таким учетом, чтобы помеченные тобой заранее общие точки совпали по координатам. При таком алгоритме сшивки можно даже объединять отсканированные с разным разрешением картинки.
Удачи!


 
bazik   (2002-04-13 11:56) [2]

to CyberStorm >
Благодарю за ответ. К сожалению проблема заключается не в отсутствии знания подхода к решению вопроса. Отметка совместных точек, вычисление смещений, углов поворота и масштабов – все это реализовано без проблем. Бяда заключается в следующем. Мне нужно реализовать сшивку как можно большего числа отсканированных фотографий, снятых с перекрытием, в единый массив. Размеры отсканированных фрагментов достигают 40..50Мб. Утык возникает при процедуре поворота фрагмента более 3..5МБ или при расширении результирующего изображения до определенного предела. На малых фрагментах (до 3Мб Gray) все вроде бы нормально. Поворот реализован на Scanline. Как только размеры больше возникает ошибка выполнения. (Под W98 Scanline выдает какой-то сумасшедший, непредсказуемый адрес с последующим Message “Параметр задан неверно”) Причем на NT это проявляется на больших пределах(40..50Мб) под соусом ‘Не хватает памяти’, хотя памяти еще до черта (ОЗУ 512 и файл подкачки до 1Gb и до скольки нужно). Пробовал различные библиотеки типа ImageLib, Envision и др. – бесполезно. Крайний раз пытался реализовать с использованием FastLib но уткнулся в проблему передачи данных от TFastDIB к Timage и наоборот. Хотя TFastDIB и крутит файлики до 250Мб и при этом шустрей чем кто либо, но использовать это у меня не получается, так как передать содержимое в Timage не через copyrect ни через OLE или еще как то не выходит. Выход один есть – запись в BMP файл, затем считывание из файла уже в TIMAGE, но это долго и как-то невкусно. В общем пока грустно, и периодически хочется кого нибудь укусить :) :((((. Кинул клич на форум – может кто и откликнется либо с общей задачей либо с фрагментами неутыка. Кроме поворотов есть еще проблемы с пачканием фрагмента черными точками при копировании, искажениями геометрии и ряд других проблем. Если кто откликнется - искренне благодарен. Спасибо за терпение при прочтении монолога.


 
CyberStorm   (2002-04-13 12:15) [3]

To Bazik >
Да, такая проблема и у меня возникала :-(
Единственный выход из создавшейся ситуации IMHO: работать с растрами без VCL, т.е. создать большой буфер (желательно с использованием FileMapping) и все операции по сшивке производить в нем "вручную" - своими низкоуровневыми функциями. Без ассемблера здесь не обойтись. После подготовки можно загружать в TImage из файла отображенного в память - получится несколько быстрей.
PS.
Сейчас занимаюсь созданием аналога класса TBitmap для работы с очень большими растрами - недели через 2 думаю закончу, тогда покажу и объясню что к чему :-)


 
vbazik   (2002-04-13 12:32) [4]

to CyberStorm >
Cпасибо. Буду рад дальнейшему общению. Vbazik@mail.ru


 
MBo   (2002-04-13 14:35) [5]

Intel Image Processing Library
developer.intel.com



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
4-60917
zllz
2002-06-17 10:37
2002.08.19
можно ли имея только Handle...


8-60763
FlashmanX
2002-04-15 12:53
2002.08.19
Чтение wave-файла в массив


1-60584
billybons
2002-08-08 07:50
2002.08.19
как программно запретить переключение между страницами PageContro


14-60828
dimonf
2002-07-24 11:19
2002.08.19
Народ, подскажите, как найти работу (шабашку) удаленно по инету?


1-60728
MikeFW
2002-08-06 11:11
2002.08.19
Как организовать сортировку в TreeView?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский