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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

2017-06-25 515
Анализ методов реконструкции искаженных пикселей изображений 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

 

Объект исследования: методы восстановления потерянных и искаженных участков изображений.

Результаты, полученные лично автором: проведен анализ методов реконструкции искаженных пикселей изображений.

 

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

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

метод на основе синтеза текстур;

метод на основе на основе изотропной диффузионной модели.

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

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

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

Рис. 1. Результат восстановления методом ДКП.

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

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

Существенным недостатком предлагаемого подхода является нерекуррентность процедур и, как следствие – высокие требования к вычислительным ресурсам ЭВМ.

Рис. 2. Результат восстановления методом синтеза текстуры.

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

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

Рис. 3. Результат восстановления методом изотропной диффузионной модели.

Проведенный анализ позволил выявить все достоинства и недостатки описанных выше методов и их сильные и слабые стороны.

Материал поступил в редколлегию 28.04.2017

УДК 004.056, 004.62

Г.В. Праскура

Научный руководитель: доцент кафедры «Информатика и программное обеспечение», к.т.н., А.О. Трубаков

gregorypraskura@hotmail.com

 

АНАЛИЗ РАЗЛИЧНЫХ ORM ДЛЯ NODE.JS В РАМКАХ СОЗДАНИЯ СЕРВИСА УЧЁТА ДОСТИЖЕНИЙ СТУДЕНТОВ

Объект исследования: опулярные ORM-библиотеки для платформы Node.js.

Результаты, полученные лично автором: предложена методика выбора ORM для платформы Node.js.

 

ORM (Object-relational mapping) – это технология, позволяющая отображать сущности информационной системы как из базы данных, так и в обратном направлении. Эта технология существенно облегчает работу с базами данных, избавляя программиста от необходимости вручную писать все требуемые запросы к базе.

В реализацию моего дипломного проекта входит сервис учёта достижений студентов, работающий в среде кафедральной информационной системы на базе связующего программного обеспечения. Для реализации была выбрана платформа Node.js. Соответственно, под рассмотрение попали самые популярные ORM-библиотеки для Node.js: Sequelize.js, Bookshelf.js, ORM2.

Сравнение производится по нескольким критериям, а именно: читаемость кода, безопасность, скорость исполнения операций, размер сообщества, то есть, популярность. В качестве оценок использована система баллов, при которой лучшая из ORM получает 3 балла по критерию, средняя – 2, наименее соответствующая критерию – 1 балл. Считается, что все критерии являются в равной степени значимыми. По сумме баллов определяется конечный выбор.

Читаемость кода. Для примера сравнения кода использованы операции создания подключения к СУБД и стандартные CRUD-операции (Create, Read, Update, Delete) с сущностью, в данном случае, конференции.

В Sequelize.js подключение к СУБД осуществляется одной строкой кода с указанием строки подключения. Создание сущности происходит путём вызова метода define, в который передаётся JavaScript-объект, с парами «имя свойства – тип данных». Операции создания, чтения, модификации и удаления исполняются при помощи механизма promise’ов: вначале вызывается метод синхронизации с БД или поиска нужного набор данных, а при успешном его завершении запускается promise, в котором, в свою очередь, вызывается соответствующий CRUD-метод.

В Bookshelf.js для инициализации подключения необходимо отдельно передать объект с полями адреса хоста, имен базы данных, пользователя и пароля. Согласно синтаксису, для CRUD-операций необходимо каждый раз создавать новый объект и к нему применять соответствующий метод. Это может ввести в заблуждение при чтении кода.

ORM2 поддерживает подключение с помощью одной строки. Создание сущности происходит аналогично таковому в Sequelize.js, а CRUD-операции происходят через вызов метода у ранее определённого экземпляра сущности. Таким образом, по критерию читаемости кода распределение баллов можно распределить так: Sequelize.js – 3 балла, ORM2 – 2 балла, Bookshelf.js – 1 балл.

Безопасность. Для ORM безопасность является также важным свойством, так как синхронизация с СУБД – это тонкое место в процессе взаимодействия приложения с базой данных.

Sequelize.js позиционируется как основанная на promise’ах ORM. Это значит, что для всех операций обращения к СУБД будет произведён контроль их успешного или, наоборот, неуспешного завершения. Bookshelf,js применяет механизм promise’ов не во всех случаях, в ORM2 же этот механизм отсутствует вовсе, все действия выполняются посредством простой передачи анонимной функции в метод соответствующей операции. То есть, Sequelize.js получает 3 балла, Bookshelf.js – 2 и ORM2 – 1 балл.

Скорость работы. Для определения результатов по этому критерию несколько 500 раз были произведены CRUD-операции различных сущностей и синхронизация с СУБД MySQL. Время засекалось с помощью методов console для работы со временем. Позднее было посчитано среднее значение для каждой из ORM. Результаты приведены в табл. 1.

Таблица 3

Результаты испытания на скорость работы

ORM Время выполнения (мс)
Sequelize.js  
Bookshelf.js  
ORM2  

 

Таким образом, ORM2 – 3 балл, Sequelize.js – 2 балла, Bookshelf.js – 1 балл.

Популярность. Популярность библиотеки определяется количеством установок через менеджер пакетов NPM и количеством успоминаний на GitHub. По данным npmjs.org, Sequelize.js имеет более 320 тысяч установок за прошедший месяц и более 800 упоминаний. Bookshelf.js: более 80 тысяч установок и 412 упоминаний, ORM2 – более 5 тысяч установок и 203 упоминания. Таком образом, 3 балла за популярность у Sequelize.js, 2 – у Bookshelf.js и 1 у ORM2.

Сложив баллы, получим, что выгоднее всего использовать Sequelize.js (11 баллов). На втором месте – ORM2 (7 баллов), на третьем – Bookshelf.js (6 баллов).

Материал поступил в редколлегию 28.04.2017

 

УДК 331.56

Г.В. Праскура

Научный руководитель: доцент кафедры «Информатика и программное обеспечение», к.т.н., Д.В. Титарёв

gregorypraskura@hotmail.com

 


Поделиться с друзьями:

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.