Разработка методов совмещения фрагментов и инструментария на примере формирования панорамных изображений медицинских микроскопических препаратов - Дипломная работа

бесплатно 0
4.5 275
Анализ системы получения изображений микропрепарата Атлант-микро. Разработка модели, алгоритмов совмещения фрагментов. Разработка пользовательского интерфейса системы. Оценка качества совмещения фрагментов алгоритмом с бинаризацией на основе гистограмм.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Анализ последовательности изображений, полученных системой АТЛАНТ-микро, позволил выделить следующий ряд особых случаев, которые могут вызывать сложности при совмещении фрагментов во время построения панорамного изображения: Малое количество контрастных объектов; На основе анализа системы регистрации изображений АТЛАНТ-микро, самих изображений и описаний алгоритмов обработки цифровых изображений была предложена следующая концептуальная модель системы: Рис. Алгоритм пробегает по всем пикселям области совмещения по несколько раз, по этой причине алгоритм работает крайне медленно. После первичной обработки алгоритмом с использованием средних профилей провести оценку корректности сшивки, и если значение разницы средних профилей менее определенного опытным путем параметра, то считать сшивку фрагментов корректной, если выше этого парметра - не корректной и тогда этот фрагмент накладывать со средним по всей панораме наложением. Файл - данный пункт меню предназначен для загрузки изображений в программу, сохранения панорамы в файл, сохранения координат фрагментов, загрузка координат фрагментов из файла, выхода из программы.В результате дипломного проекта разработана программная система, которая позволяет совмещать малоконтрастные фрагменты при формировании панорамного изображения микропрепарата. В программном продукте реализованы 4 алгоритма совмещения фрагментов, которые позволяют безошибочно выполнить совмещение фрагментов на подавляющем большинстве реальных изображений.При этом трансформации подвергаются такие параметры изображений, как фокусное расстояние объектива, с помощью которого получено исходное изображение, параметры радиального смещения, присущие данному объективу, углы наклона объектива от кадра к кадру, линейные смещения изображений. По зоне перекрытия считается суммарный попиксельный дифференс, который потом делится на площадь перекрытия, тем самым получается средний дифференс по зоне перекрытия изображений по оси X (высота перекрытия остается постоянной и равна H - высоте изображения). Для сшиваемой пары изображений рассчитывается гистограмма по области перекрытия, для изображений обработанных маской для сшивки по горизонтали Основные шаги алгоритма: При загрузке изображений в программу обрабатываем каждое изображение маской: |-1 0 0 0 1| Бинаризация осуществляется по следующему принципу: значение ниже порога приравнивается к нулю, значения выше пороге бинаризации приравниваются к среднему из 3-х компонент.//положения всех остальных кадров полосы меняем на изменения в положении сшиваемого кадра for(size_t i=y_idx*COLCOUNT;i<idx1; i) VPP[idx1].L(i,j-yi 5).comp[lyr::g_rgb] VPP[idx].L(i,j).comp[lyr::g_rgb]-VPP[idx1].L(i,j-yi 5).comp[lyr::g_rgb] VPP[idx].L(i,j).comp[lyr::b_rgb]-VPP[idx1].L(i,j-yi 5).comp[lyr::b_rgb]); VPP[idx1].LB(i-dx,j-yi).comp[lyr::r_rgb] VPP[idx].L(i,j).comp[lyr::g_rgb]-VPP[idx1].LB(i-dx,j-yi).comp[lyr::g_rgb] VPP[idx].L(i,j).comp[lyr::b_rgb]-VPP[idx1].LB(i-dx,j-yi).comp[lyr::b_rgb]); VPP[idx1].LB(i,j-yi).comp[lyr::r_rgb] VPP[idx].L(i-dx,j).comp[lyr::g_rgb]-VPP[idx1].LB(i,j-yi).comp[lyr::g_rgb] VPP[idx].L(i-dx,j).comp[lyr::b_rgb]-VPP[idx1].LB(i,j-yi).comp[lyr::b_rgb]); Form6->allg1_PROFILX_left.

Введение
Микроскопия как метод исследования постоянно развивается в зависимости от технических достижений в области точной механики и оптики , от разработок более совершенных, с более высокой разрешающей способностью самих микроскопов, дающие возможность открыть новые материалы, применить новые методы исследований. С развитием компьютерных технологий стало возможным получение изображения всего микропрепарата разделенного на отдельные кадры, что выявило задачу совмещения этих фрагментов в единое панорамное изображение. Такого рода изображение дает ряд преимуществ, так как врач получает виртуальный микропрепарат, который повышает эффективность работы врача при анализе препарата.

Изза погрешности механического перемещения предметного столика, возникает проблема совмещения фрагментов.

Один из подходов к задаче совмещения фрагментов является поиск контрастных структур на границе совмещаемых кадров. В случае наличия областей свободных от контрастных структур, задача совмещения фрагментов становится невозможным, поэтому требуется создание специальных методов, разработке и исследованию которых и посвящен данный дипломный проект.

Задачей настоящего дипломного проекта является разработка методов совмещения фрагментов и инструментария для их исследования на примере формирования панорамных изображений медицинских микроскопических препаратов. Итоговым результатом будет являться программная система должна содержать в себе следующее: алгоритмы совмещения фрагментов панорамного изображения микроскопических препаратов, инструментарий для исследования алгоритмов, инструментарий для ручной корректировки совмещения фрагментов.

Цель работы

Разработка и исследование методов совмещения фрагментов при формировании панорамного изображения микропрепарата.

Исходные данные

Медицинские изображения, полученные с использованием системы АТЛАНТ-микро.

Основные задачи

Для достижения поставленной цели сформулирован ряд задач: Анализ источников получения изображений;

Исследование основных свойств изображений;

Изучение описаний типовых алгоритмов совмещения фрагментов;

Изучение алгоритмов совмещения фрагментов;

Разработка алгоритмов совмещения фрагментов;

Разработка требований к программному обеспечению;

Разработка требований к аппаратному обеспечению;

Разработка требований к методическому обеспечению;

Разработка программного обеспечения системы: Разработка структурной схемы программы;

Разработка пользовательского интерфейса программы;

Реализация алгоритмов совмещения фрагментов и инструментов для оценки работы алгоритмов;

Тестирование системы;

Разработка методического обеспечения системы: Разработка руководства пользователя;

Разработка методики проведения экспериментального исследования;

Разработка лабораторного практикума;

Экспериментальное исследование алгоритмов;

1. Предпроектное обследование

Диагностика (в медицине) - процесс установления диагноза, то есть заключения о сущности болезни и состоянии пациента, выраженное в принятой медицинской терминологии.

Медицинские методы выявления заболеваний представляют собой совокупность исследований направленных на установление точной причины заболевания, а также изменений внутренней среды организма, сопутствующих тем или иным заболеваниям.

Методы диагностики развиваются параллельно с развитием медицины. В настоящее время разработано большое количество различных методов, применение которых значительно повышает качество медицинского обслуживания. В традиционной медицине исследование любого заболевания начинается со сбора анамнестических данных (жалобы со стороны больно, эволюция развития заболевания, наличие подобного заболевания у родственников, другие заболевания, перенесенные на протяжении жизни и пр.) и общего осмотра больного. Эти два метода исследования исторически являются наиболее ранними и в некоторых случаях позволяют установить точную причину заболевания; в других случаях данные полученные при сборе анамнеза и общем осмотре больного помогают врачу составить схему дальнейшего исследования больного и значительно сужают круг возможных исследований.

В методах распознания многих заболеваний часто применяется так называемое комплексное исследование, которое подразумевает совокупность различных методов исследования, которые помогают установить точную причину (этиологию) заболевания и составить представление о нарушениях имеющих место в организме при данном типе заболевания. Особенно часто комплексную диагностику применяют при наличии у больного сложного заболевания с невыясненной этиологией, которое сопровождается значительными нарушениями обмена веществ и функционирования различных систем организма. Эти нарушения можно рассматривать как сопутствующие заболевания. Комплексное исследование позволяет определить не только состояние больного органа или системы, но и помогает оценить функциональность других органов и систем, находящихся в физиологической или анатомической связи с очагом заболевания. Эта последняя особенность комплексного исследования помогает врачам правильно оценить состояние больного и назначить адекватное лечение с поправкой на общее состояние организма. Комплексные меры по выявлению заболеваний применяется также для установления причины заболеваний с комплексной этиологии (т.е. заболеваний которые могут быть вызваны различными факторами).

Однако, как уже упоминалось выше, комплексное исследование это совокупность различных методов медицинского исследования больного. На данный момент не существует такого метода исследования, который позволил бы оценить состояние всех органов и систем организма. Комплексные меры по выявлению заболеваний осуществляется путем проведения многочисленных тестов большей или меньшей специфичности, которые помогают установить ту или иную особенность состояния больного.

Так, в большинстве случаев, комплексная диагностика включает методы лабораторного исследования (определение качественного и количественного состава крови и других физиологических жидкостей, определение концентрации гормонов и пр.), методы инструментального исследования (электрокардиограмма, электроэнцефалограмма, ультразвуковое исследование, фиброскопия). В последнее время все большую популярность приобретают методы исследования с использованием сложной компьютерной техники: компьютерная томография, магнитно-ядерный резонанс и др.

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

Развитие методов исследования с использованием компьютерной техники идет бок о бок с развитием визуализации данных(изображений). Изображения имеют колоссальную роль в современной диагностики, ведь достаточно переслать опытному врачу качественное изображение исследуемой патологии, чтобы получить верный диагноз.

Одной из основных целей системы АТЛАНТ-микро является автоматизация процесса диагностики, поэтому получение корректного изображения является 1 из основных задач этой системы.

1.1 Анализ системы получения изображений микропрепарата Атлант-микро

Исходными данными для разработки системы являются изображения микроскопических препаратов, полученные с помощью системы АТЛАНТ-микро, общая схема которой представлена на рис.:

Рис. 1.1 - Общая схема системы АТЛАНТ-микро

Принцип работы системы следующий: посредством микроскопа формируется увеличенное изображение препарата, которое регистрируется цифровой камерой и передается на компьютер для дальнейшей обработки. Система позволяет снимать как отдельные области препарата по одному кадру на область, так и серию кадров в автоматическом режиме (режим формирования панорамного изображения). Анализ общей схемы позволяет выделить наиболее проблемные участки в системе. А именно, это микроскоп и камера, настройка которых влияет на качество получаемых изображений.

Характеристики изображений получаемых в системе Атлант-микро

Изображения, полученные в системе АТЛАНТ-микро, имеют следующие характеристики, смотри таблицу 1.1

Таблица 1.1

Формат ИЗОБРАЖЕНИЯФОРМАТ изображения: *.bmp

Ширина: 696

Высота: 570

Глубина цвета (бит/пиксель): 24

1.2 Анализ изображений получаемых системой Аталант Микро

Анализ последовательности изображений, полученных системой АТЛАНТ-микро, позволил выделить следующий ряд особых случаев, которые могут вызывать сложности при совмещении фрагментов во время построения панорамного изображения: Малое количество контрастных объектов;

на нескольких кадрах;

Рис. 1.2 - Малое количество контрастных объектов на 2х последовательно снятых кадрах на большом количестве кадров;

Рис. 1.3 - Большая область с малым количеством контрастных объектов

Большой перепад яркости на двух смежных кадрах;

Рис. 1.4 - Два смежных кадра с большим перепадом яркости

Сильно разнящийся «шаг» при съемке (возможно наложение до 90%);

Последовательность кадров с недостаточной яркостью

Рис. 1.5 - Фрагмент с недостаточной яркостью

1.3 Анализ алгоритмов совмещения фрагментов

Процесс составления из ряда кадров единого изображения называется ститчингом (stitching - склеивание).

Для реализации процесса ститчинга существует несколько программ, основанных на различных алгоритмах, на данный момент наиболее широко используются следующие два алгоритма совмещения кадров: Алгоритм совмещения смежных областей изображений по контурам рисунков. В данном методе изначально выделяются контуры, описывающие резкие тоновые переходы на изображении, производится их совмещение, а затем происходит наложение с полупрозрачностью.

Данный алгоритм используется в следующих программных продуктах CANON PHOTOSTITCH, FLAMINGPEARFLEXIFY, PANORAMACOMPOSER, PANORAMAMAKER, PHOTOVISTAPANORAMA, PIXMAKERPRO, Pixtra, 3DPHOTOBUILDERPROFESSIONAL, EASYPANO Tourweaver, Panorama Factory

Все приведенные выше программы пасуют при необходимости сшивать сложные многорядные панорамы.

Революция в алгоритмах сшивания панорам произошла в 1998 году, когда профессор физики Хельмут Дерш (Helmut Dersch) из Технического Университета города Фюртванген (ФРГ) выложил на своем сайте www.fh-furtwangen.de/~dersch ряд разработанных им программ, которые и по сей день являются самым известным и популярным среди фотографов инструментом создания панорамных изображений. Главное достоинство подхода, лежащего в основе этих программ, заключалось в том, что он позволял получать панорамы любых типов из снимков, полученных с помощью практически любого объектива. С их помощью можно сшивать как однорядные, так и многорядные панорамы. Наличие на исходных снимках всякого рода геометрических искажений также не является препятствием для получения панорам хорошего качества. Еще одним немаловажным достоинством разработки Х. Дерша являлось то, что она распространялась и распространяется до сих пор совершенно бесплатно. Более того, автор сделал свой проект открытым и теперь любой может внести свою лепту в дальнейшее совершенствование его программ и методик.

В основе подхода Х.Дерша к решению задачи сшивания панорам лежит простая и весьма продуктивная идея. Вместо того, чтобы и дальше развивать и совершенствовать способы совмещения смежных областей изображений по контурам рисунков, затирать фантомные элементы и т.п., автор разработки решил трансформировать исходные изображения целиком так, чтобы минимизировать различие в рисунках этих смежных областей. Делается это по контрольным точкам (маркерам), расставляемым вручную. При этом трансформации подвергаются такие параметры изображений, как фокусное расстояние объектива, с помощью которого получено исходное изображение, параметры радиального смещения, присущие данному объективу, углы наклона объектива от кадра к кадру, линейные смещения изображений. В результате работы программы получается многослойный файл, состоящий из маркированных трансформированных изображений, смещенных друг относительно друга и образующих при этом панораму.

Первоначально пакет программ Х.Дерша получил название Panorama Tools и представлял собой 4 плагина к Фотошопу или любому другому растровому графическому редактору, работающему со слоями. В дальнейшем, по мере совершенствования, пакет пополнился несколькими самостоятельными программами. В состав пакета входит также т.н. PTVIEWER - программа просмотра панорамный изображений. Сегодня весь этот пакет, состоящий из плагинов Panorama Tools, 8-ми самостоятельных программ и PTVIEWER"а, носит название PANOTOOLS.

Пакет PANOTOOLS мог бы, претендовать на роль той самой "универсально-идеальной" программы сшивания, если бы не одно весьма существенное обстоятельство. Работа с PANOTOOLS предусматривает весьма тщательную расстановку контрольных точек на одинаковых элементах смежных областей исходных изображений. Причем выходное качество, весьма чувствительно к количеству и точности их расстановки. В настоящее время предпринимаются попытки создания программ автоматического определения координат контрольных точек, но, но полностью обойтись без ручного вмешательства в работу этих программ (проблема ложных точек) вряд ли удастся. Изначально пакет не предусматривал наличие вообще какого-либо графического интерфейса пользователя (GUI). Однако сегодня эта проблема успешно решена как самим автором PANOTOOLS (программа PTPICKER), так другими разработчиками (программы PTGUI, PTASSEMBLER и PTMAC). 3 последних программы уже не являются бесплатными. Следует отметить, что эти 3 программы не содержат какие-либо дополнения или усовершенствования к программам и методикам профессора Дерша. Они лишь предоставляют графический интерфейс для работы с созданными им средствами.

2. Разработка требований

2.1 Разработка концептуальной модели

На основе анализа системы регистрации изображений АТЛАНТ-микро, самих изображений и описаний алгоритмов обработки цифровых изображений была предложена следующая концептуальная модель системы:

Рис. 2.1 - Концептуальная модель системы

Блок совмещения фрагментов - данный блок должен содержать в себе алгоритмы совмещения фрагментов.

Блок анализа работы алгоритмов - данный блок должен содержать в себе инструментарий для анализа работы алгоритмов совмещения фрагментов.

Блок ручной корректировки - данный блок должен содержать инструментарий для ручной коррекции положения панорамного изображения.

2.2 Разработка требований к системе

2.2.1 Разработка требований к программному обеспечению

Из предложенной концептуальной модели системы, анализа алгоритмов обработки цифровых изображений и анализа исходных данных был сформулирован ряд требований, к программному обеспечению системы: Наличие 1 исходного алгоритма и 3х разработанных;

Наличие средств анализа результатов работы алгоритмов;

Иметь понятный интерфейс с малкой степенью вложенности меню;

Иметь возможность ручной корректировки работы алгоритмов;

Совместимость с современными ОС, такими как: Windows XP, Windows 7, Windows Vista;

2.2.2 Разработка требований к методическому обеспечению

Помимо программного обеспечения, разработанная система должна включать в себя методическое обеспечение, которое должно содержать в себе: Подробное руководство с описанием основных функций программы;

Методику проведения эксперимента с использованием разработанного программного обеспечения;

Лабораторный практикум с текстом трех лабораторных работ, рассчитанных на три академических часа каждая;

2.2.3 Разработка требований к экспериментальному исследованию

После разработки системы необходимо провести ряд экспериментальных исследований, которые должны включать в себя следующие основные этапы: Цель и задача эксперимента;

Проведение эксперимента;

Выводы по результатам эксперимента;

2.2.4 Разработка требований к аппаратному обеспечению

Проанализировав алгоритмы совмещения фрагментов, которые будут реализованы в программе были сформулированы следующие требования к аппаратному обеспечению: Операционная система Windows XP (SP2 или выше) / Windows Vista / Windows 7;

Процессор Intel Pentium с тактовой частотой 3 ГГЦ или лучше;

2Гб оперативной памяти;

Объем памяти видеоадаптера 256 Мб;

100 Мб свободного места на жестком диске;

Клавиатура и мышь.

3. Разработка алгоритмов совмещения фрагментов

3.1 Базовый Алгоритм

Рис. 3.1 - Базовый алгоритм совмещения фрагментов

На основе предпроэктного обследования и принципа работы данного алгоритма, становятся видны 3 глобальных недостатка: Низкая корректность. Так как алгоритм ведет расчеты по все пикселям изображения, как информативным, так и нет, минимальная разница может соответствовать не корректному положению

Быстродействие. Алгоритм пробегает по всем пикселям области совмещения по несколько раз, по этой причине алгоритм работает крайне медленно.

Малоконтрастные области. С совмещение малоконтрастных областей алгоритм не справится по причине того, что значение средней разности по наложению будет крайне малым.

3.2 Повышения корректности совмещения

Для повышения корректности работы алгоритма необходимо убрать из анализа алгоритмом наименее информативных участков, для этого было предложено выполнить 3 этапа.

При загрузке изображений в программу обработать изображения маской выделяющей границы объектов.

Для сшиваемой пары изображений рассчитывать гистограмму по области перекрытия.

Рассчитывается порог бинаризации, при котором на изображении останется не более 70% черных пикселей, отбрасывая, таким образом, не информативные области изображения и повышая точность.

3.3 Повышения быстродействия

Для повышения быстродействия был предложено анализировать алгоритмом не каждый конкретный пиксель изображения, а средний профиль яркости по каждой координате Х. Для этого необходимо выполнить следующие шаги: При загрузке изображений в программу обработать изображения маской выделяющей границы объектов.

Сшиваемые изображения бинаризовать с порогом таким порогом бинаризации, который уберет шум на изображении после обработки его маской. Бинаризацию осуществляется по следующему принципу: значение ниже порога приравнивается к нулю, значения выше порога бинаризации приравниваются к среднему из 3-х компонент.

Строится средний профиль изображений по оси X, т.е. X=(?p(x,j))/H, где j меняется от 0 до H - высота изображения.

Оценка корректности наложения оценивается по минимальному значению разницы средних профилей.

3.4 Совмещения малоконтрастных областей

Проблема малоконтрастных областей появляется изза того, значение разницы средних профилей яркости по координате будет стремиться к 0, а соответственно ярко выраженного минимума не будет, что приведет к некорректному совмещению таких фрагментов.

Для решения этой проблемы были предложены следующие решения: 1. После первичной обработки алгоритмом с использованием средних профилей провести оценку корректности сшивки, и если значение разницы средних профилей менее определенного опытным путем параметра, то считать сшивку фрагментов корректной, если выше этого парметра - не корректной и тогда этот фрагмент накладывать со средним по всей панораме наложением.

2. Изначально сшивать не все кадры, а только те, которые возможно сшить корректно, а остальные кадры накладывать в пустующие области со средним наложением.

4. Разработка программного обеспечения

4.1 Разработка структурной схемы

Главный модуль программы - данный модуль должен является средством управления остальными модулями и средством перехода между модулями программного комплекса.

Модуль чтения изображений из файла - данный модуль должен реализовывать собой загрузку изображений и их координат в панораме для дальнейшей работы с ними.

Загрузка изображений в программу - данный модуль должен реализовывать собой загрузку фрагментов панорамного изображения.

Загрузка координат фрагментов - данный модуль должен реализовывать собой возможность считывания координат фрагментов в панораме.

Модуль совмещения фрагментов - данный модуль формировать панорамное изображение микропрепарата выбранными и разработанными алгоритмами совмещения фрагментов.

Модуль сохранения панорамы в файл - данный модуль должен реализовывать сохранение панорамы и координат фрагментов в файл для дальнейшей работы с ними.

Сохранение панорамного изображения в файл

Сохранение координат фрагментов в файл

Модуль ручного редактирования - данный модуль должен реализовывать возможность ручной корректировки совмещения фрагментов и должен включать в себя следующие функции: «Плавная» попиксельная корректировка положения фрагмента;

«Грубая» ручная корректировка положения фрагмента;

Выбор зоны корректировки;

Корректировка положения 1 кадра;

Корректировка положения нескольких кадров;

Корректировка положения нескольких горизонтальных полос;

Корректировка положения полосы левее выбранного кадра;

Корректировка положения полосы правее выбранного кадра;

Подсветка выбранной для корректировки зоны;

Модуль навигации - данный модуль должен реализовывать возможность быстрой навигации по панорамному изображению.

Модуль Исследования алгоритмов - данный модуль должен реализовывать собой функционал для исследования алгоритмов.

Модуль анализа результатов работы алгоритмов

Оценка параметров перекрытия

Увеличение выбранной области

4.2 Разработка пользовательского интерфейса системы

На основе сформулированных требований к программному обеспечению, анализе алгоритмов совмещения фрагментов и анализе исходных данных были сформулированы требования к пользовательскому интерфейсу: Малая степень вложенности меню;

Названия пунктов меню должны быть «говорящими»;

Число вспомогательных окон должно быть минимальным;

Информация для анализа работы алгоритмов должна быть максимально информативной и не перегружать интерфейс;

Главное окно программы - данный блок является реализацией главного модуля структурной схемы системы, представленной на рис.

Область отображения панорамного изображения - данный элемент предназначен для отображения в масштабе 1:1 изображение панорамы

Контекстное меню - данный элемент предназначен для функций, которые зависят применяются к определенному фрагменту

Обрезать по зоне перекрытия - обрезание фрагмента по зоне перекрытия.

Восстановить - отмена последнего обрезания фрагмента.

Оценка сшивки по перекрытию - вывод параметров перекрытия.

Зафиксировать положение - фиксирование положения фрагмента (необходимо для алгоритма со степенями жесткости).

Главное меню программы - данный элемент предназначен для управления программой, а так же для вызова вспомогательных окон программы, которые являются реализацией модулей представленных на рис. 5 и включает в себя следующие пункты

Файл - данный пункт меню предназначен для загрузки изображений в программу, сохранения панорамы в файл, сохранения координат фрагментов, загрузка координат фрагментов из файла, выхода из программы.

Сшивка панорамы - данный пункт меню предназначен для запуска алгоритмов совмещения фрагментов.

Список Загруженных файлов - данный пункт меню вызывает вспомогательное окно с списком всех загруженных фрагментов

Ручное редактирование - данный пункт меню вызывает вспомогательное окно с функционалом для ручного редактирования положений фрагментов.

Графики - построение графиков анализа работы алгоритмов

Увеличение - вызывает вспомогательное окно для увеличения необходимого участка.

Навигация - данный пункт меню вызывает окно навигации.

4.3 Технология разработки

Средой разработки была выбрана среда Borland С Builder 6.0.

Средой выполнения была выбрана операционная система Windows, версии от XP и новее. Критерием выбора данной системы являлись простота освоения для пользователя, распространенность, хорошая техническая поддержка, «богатый» API-интерфейс программирования приложений. Кроме всего прочего, данное семейство операционных систем широко используется в разработках кафедры 46, что даст большую совместимость разработанной системы с уже готовыми системами.

В качества основного языка программирования используется C , обоснованиями выбора данного языка программирования являются скорость выполнения, надежность.

Для реализации интерфейса программы использовалась библиотека визуальных компонентов VCL.

Библиотека визуальных компонентов (англ. Visual Component Library, VCL) - объектно-ориентированная библиотека для разработки программного обеспечения, разработанная компанией Borland (на данный момент поддерживается Embarcadero) для поддержки принципов визуального программирования. VCL входит в комплект поставки Delphi, C Builder ИEMBARCADERO RAD Studio и является, по сути, частью среды разработки, хотя разработка приложений в этих средах возможна и без использования VCL. VCL предоставляет огромное количество готовых к использованию компонентов для работы в самых разных областях программирования, таких, например, как интерфейс пользователя (экранные формы и элементы управления - т. н. «контролы», «контроли»), работа с базами данных, взаимодействие с операционной системой, программирование сетевых приложений и прочее

Для работы с изображениями использовалась библиотека Layer.

Библиотека Layer является разработкой кафедры №46 «Компьютерные медицинские системы». Библиотека предоставляет удобные классы, которые называются леерами, для хранения изображений произвольной разрядности (и вообще матриц с элементами произвольного типа) с настраиваемым доступом к пикселям. В библиотеку входит набор алгоритмов (в понимании STL) обхода пикселей изображений, функции преобразования между изображениями различных разрядностей. Библиотека также поддерживает чтение-запись большого количества графических файлов и вывод изображений на экран. При этом от пользователя скрываются обращения к сторонним библиотекам ввода-вывода и к Windows GDI). Кроме этого в библиотеке содержится набор простейших функций распознавания объектов.

4.4 Реализация базового алгоритма

Особенностью данного алгоритма является то, что он работает с цветными необработанными изображениями.

Этапы работы алгоритма: Сшивка полосы кадров по горизонтали: Формируется цикл, в каждом шаге которого уменьшается зона перекрытия от W-10 до W-300, где W - ширина кадра.

По зоне перекрытия считается суммарный попиксельный дифференс, который потом делится на площадь перекрытия, тем самым получается средний дифференс по зоне перекрытия изображений по оси X (высота перекрытия остается постоянной и равна H - высоте изображения).

Далее ищется минимальное значение дифференса, которое соответствует положению второго кадра в первом.

После нахождения положения кадра в кадре по оси X, задается отклонение по оси Y и по такому же принципу ищется положение по оси Y, т.е. рассчитывается средний дифференс и ищется минимум.

Сшивка 2 полос по вертикали: Задается перекрытие по вертикали по умолчанию равное 1\3 высоты кадра;

Формируется цикл, в каждом шаге которого уменьшается зона;

По зоне перекрытия считается суммарный попиксельный дифференс, который потом делится на площадь перекрытия, тем самым получается средний дифференс по зоне перекрытия изображений по оси X (высота перекрытия остается постоянной и равна H\3);

Далее для найденного X рассчитываем средний дифференс при смещении по оси Y;

Минимальное значение будет равно положению второй полосы в первой по вертикали;

4.5 Алгоритм с бинаризацией на основе гистограмм

Основные шаги алгоритма: При загрузке изображений в программу обрабатываем каждое изображение маской: |-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

Тем самым выделаем границы объектов для сшивки по горизонтали.

Для сшиваемой пары изображений рассчитывается гистограмма по области перекрытия

Далее рассчитывается порог бинаризации, при котором на изображении не более 70% черных пикселей.

Сшиваемые изображения бинаризируются с найденным порогом бинаризации.

Рассчитывается средний дифференс по зоне перекрытия для бинаризованной картинки

Ищется минимум, который соответствует положению кадра в кадре по оси X

Далее задается отклонение по оси Y, считается средний дифференс при смещении картинок относительно друг друга по оси Y на заданное отклонение. Ищется минимум.

Сшивка между полосами такая же, как и в алгоритме №2 с тем отличием, что тут дифферен считается для бинаризированных изображений.

4.6 Алгоритм поиска минимальной разницы по среднему профилю

При загрузке изображений в программу обрабатываем каждое изображение маской: |-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

Тем самым выделаем границы объектов для сшивки по горизонтали.

Проверяем наличие контрастных структур на верхней, нижней, правой и левой половинах кадра.

Сшиваемые изображения бинаризируются с порогом бинариазции = 7, чтобы убрать шум на изображении после обработки его маской. Бинаризация осуществляется по следующему принципу: значение ниже порога приравнивается к нулю, значения выше пороге бинаризации приравниваются к среднему из 3-х компонент.

Строится средний профиль изображений по оси X, т.е. X=(?p(x,j))/H, где j меняется от 0 до H - высота изображения.

Для построенных профилей изображений считается средний дифференс, т.е. профили постепенно смещаются друг относительно друга на заданное значение пикселей, поэлементное вычитание суммируется в переменной, которая делится на ширину зоны перекрытия.

Полученный средний дифференс обрабатывается маской [-1 0 2 0 -1], чтобы выделить резкие перепады на графике среднего дифференса.

На полученной графике ищется максимальное значение, индекс которого соответствует истинному положению второго кадра в первом по оси X

Далее изображения обрабатываются маской

|-1 -1 -1 -1 -1|

| 0 0 0 0 0 |

| 0 0 0 0 0 |

| 0 0 0 0 0 |

| 1 1 1 1 1 |

Строится средний профиль по Y (аналогично среднему профилю по X)

Полученные профили вычитаются друз из друга с заданным перекрытием, и ищется минимум, который соответствует истинному положению второго кадра в первом по оси Y

После сшивки всех кадров по полосам оценивается значение максимума при сшивке по оси X. Если значение максимума больше 0,11 (значение получено опытным путем), то сшивка считается правильной и остается без изменений, если значение меньше, то сшивка считается неудачной и положение кадра в предыдущем кадре приравнивается среднему значению всех положений кадров в предыдущих.

Далее ищется кадр с максимальным значением коэффициента, который характеризует наличие контрастных структур в верхней половине кадра.

Найденный кадр и кадр над ним обрабатывается маской для сшивки по оси X

Далее изображения бинаризируются с порогом 7

Формируется цикл, в котором для нижнего кадра строится средний профиль по X для полоски шиной в 90 пикселей от верхней границы кадра, а для верхнего кадра рассчитывается средний профиль по X для полоски шириной в 50 пикселей от нижней границы кадра. В каждом следующем шаге цикла полоска для верхнего кадра поднимается вверх на 25 пикселей и средний профиль строится для нее.

Так же в каждом шаге цикла считается средний дифференс, который потом обрабатывается маской и находится максимум, который соответствует истинному положению нижнего кадра в верхнем по оси X

Далее эта же пара изображений обрабатывается маскрой для вертикальной сшивки и бинаризируется с порогом 7

Рассчитывается средний профиль по оси Y для обоих изображений

Рассчитывается средний дифференс, который потом обрабатывается маской.

Ищется максимальное значение, которое соответствует правильному положению нижнего кадра в верхнем по оси Y

Все остальные кадры выстраиваются относительно новых координат только что сшитых кадров

4.7 Алгоритм совмещения фрагментов со степенями жесткости кадров

Основные шаги алгоритма: При загрузке изображений в программу обрабатываем каждое изображение маской: |-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

|-1 0 0 0 1|

Тем самым выделаем границы объектов для сшивки по горизонтали.

Проверяем наличие контрастных структур на верхней, нижней, правой и левой половинах кадра.

После обработки маской, для каждого изображения панорамы рассчитывается площадь контрастных структур по зоне перекрытия слева, справа, сверху и снизу.

Сшиваемые изображения бинаризируются с порогом бинаризации = 7, чтобы убрать шум на изображении после обработки его маской. Бинаризация осуществляется по следующему принципу: значение ниже порога приравнивается к нулю, значения выше пороге бинаризации приравниваются к среднему из 3-х компонент.

Если у сшиваемых изображений площадь контрастных структур на зоне перекрытия больше 1000 (значение получено экспериментально), то считается, что сшивка будет выполнена корректно.

Строится средний профиль изображений по оси X, т.е. X=(?p(x,j))/H, где j меняется от 0 до H - высота изображения.

Для построенных профилей изображений считается средний дифференс, т.е. профили постепенно смещаются друг относительно друга на заданное значение пикселей, поэлементное вычитание суммируется в переменной, которая делится на ширину зоны перекрытия.

Полученный средний дифференс обрабатывается маской [-1 0 2 0 -1], чтобы выделить резкие перепады на графике среднего дифференса.

На полученной графике ищется максимальное значение, индекс которого соответствует истинному положению второго кадра в первом по оси X

Далее изображения обрабатываются маской

|-1 -1 -1 -1 -1|

| 0 0 0 0 0 |

| 0 0 0 0 0 |

| 0 0 0 0 0 |

| 1 1 1 1 1 |

Строится средний профиль по Y (аналогично среднему профилю по X)

Полученные профили вычитаются друз из друга с заданным перекрытием и ищется минимум, который соответствует истинному положению второго кадра в первом по оси Y

После сшивки всех кадров по полосам оценивается значение максимума при сшивке по оси X. Если значение максимума больше 0,11 (значение получено опытным путем), то сшивка считается правильной и остается без изменений, если значение меньше, то сшивка считается неудачной и положение кадра в предыдущем кадре приравнивается среднему значению всех положений кадров в предыдущих.

Далее в каждой полосе формируются блоки с жесткой сшивкой.

В каждом блоке ищется кадр с максимальной площадью контрастных структур в верхней половине кадра.

Найденный кадр и кадр над ним обрабатывается маской для сшивки по оси X

Далее изображения бинаризируются с порогом 7

Формируется цикл, в котором для нижнего кадра строится средний профиль по X для полоски шириной в 90 пикселей от верхней границы кадра, а для верхнего кадра рассчитывается средний профиль по X для полоски шириной в 50 пикселей от нижней границы кадра. В каждом следующем шаге цикла полоска для верхнего кадра поднимается вверх на 25 пикселей и средний профиль строится для нее.

Так же в каждом шаге цикла считается средний дифференс, который потом обрабатывается маской и находится максимум, который соответствует истинному положению нижнего кадра в верхнем по оси X

Далее эта же пара изображений обрабатывается маскрой для вертикальной сшивки и бинаризируется с порогом 7

Рассчитывается средний профиль по оси Y для обоих изображений

Рассчитывается средний дифференс, который потом обрабатывается маской.

Ищется максимальное значение, которое соответствует правильному положению нижнего кадра в верхнем по оси Y

Все остальные кадры блока выстраиваются относительно новых координат только что сшитых кадров.

Цикл повторяется для всех блоков в полосе.

4.8 Модуль ручной корректировки

От модуля ручной корректировки изображения требуется: Возможность плавной(попиксельной) корректировки;

Возможность грубой корректировки;

Возможность выбора области корректировки;

1 фрагмент;

несколько фрагментов;

все фрагменты полосы левее выделенного;

все фрагменты правее выделенного;

несколько горизонтальных полос;

Рис. 4.1 - Схема работы модуля ручной корректировки

В ходе разработки данного модуля( смотри рис.) было решено добавить туда подсветку редактируемой области для удобства редактирования.

Рис. 4.2 - Модуль ручной корректировки

Данный модуль позволяет, выделив необходимую для корректировки область, изменить ее поло

Вывод
В результате дипломного проекта разработана программная система, которая позволяет совмещать малоконтрастные фрагменты при формировании панорамного изображения микропрепарата. В программном продукте реализованы 4 алгоритма совмещения фрагментов, которые позволяют безошибочно выполнить совмещение фрагментов на подавляющем большинстве реальных изображений. Для финальной доводки результата реализован модуль ручной корректировки, позволяющий редактировать положение каждого отдельно взятого или группы фрагментов на панорамном изображении. Разработан инструментарий для исследования реализованных алгоритмов, позволяющий оценивать результат совмещения фрагментов алгоритмом качественно и количественно.

Разработано подробное руководство пользователя, обучающее работе с программным системой.

Разработана методика проведения исследования, позволяющая оценить работу алгоритма на любой реальной выборке фрагментов.

Программная система может применяться как инструмент для проведения лабораторных работ по курсу «Обработка изображений». Благодаря алгоритмической базе, реализованной в программе и средствам исследования эффективности их работы, система предоставляет возможность изучения вопросов корректности совмещения фрагментов алгоритмами при формировании панорамного изображения микропрепарата.

Список литературы
1. Введение в компьютерную графику. Лекция 4 ()

2. Б. Страуструп «Язык программирования С » специальное издание

3. У.Прэтт «Цифровая Обработка Изображений»

4.

5. Р.Гонсалес, Р. Вудс «Цифровая обработка изображений»

6. Сайт профессора Хельмута Дерша www.fh-furtwangen.de/~dersch

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?