![]() |
|
![]() ![]() ![]() |
|
SHONY_S |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Впервые столкнулся с такого рода задачей.
Есть 2 рисунка (к примеру), один из них четкий, другой размытый. Как программно определить который какой? Рисунки могут быть разными, тоесть изображение на них может быть разное. Может кто-то подскажет простенький алгоритм ... ![]() |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
хм. алгоритм - нет. пожалуй, есть идея.
можно считать абсолютной резкостью, когда две соседние точки имеют абсолютно разный цвет(000000 и FFFFFF) и абсолютная размытость - когда две соседние точки имеют цвет одинаковый(если под размытостью понимать влияние одних точек на цвет соседних). Надо придумать алгоритм подсчета "коэффициента размытости" для всей картинки и алгоритм расчета степени одинаковости для двух точек. |
|||
|
||||
SHONY_S |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
||||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
можно ещё спектр посмотреть
размытие приводит к ослаблению высоких частот -------------------- qqq |
|||
|
||||
SHONY_S |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
||||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
хм... ну про спектр вообще очень много написано
ну... например, можно тут посмотреть http://en.wikipedia.org/wiki/Discrete_cosine_transform не утверждаю, что самое лучшее для понимания - просто первое, что в голову пришло впрочем, там, наверняка есть ссылки для более глубокого изучения... Это сообщение отредактировал(а) maxim1000 - 7.11.2007, 18:00 -------------------- qqq |
|||
|
||||
IAV |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 4.7.2005 Репутация: нет Всего: 3 |
Возможно попробовать вычислить градиент изображения... На размытом градиент в каждой точке толжен быть не слишком большой, в то время как на четком (границы контуров) - довольно значительный. Этот метод испоьзуют для выделения границ на изображениях, возможно стоит попробовать плясать дальше от него =)
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
||||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
для того чтобы ответить на ваш вопрос надо определить что такое четкое изображение. И это Ваша задача.
Например фотография белого листа идеально резка. Но и градиент и спектр там никакие, а потому и спасуют предложеннные выше методы -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
IAV |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 4.7.2005 Репутация: нет Всего: 3 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
||||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Т.е вы сфотографировали белый лист и получили его нечеткое изображение? Как вам это удалось? -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
SHONY_S |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Большое спасибо Вам всем!
Хоть не все советы мне были предельно ясны но, вроде, мне удалось найти работающий вариант алгоритма определения четкости изображения... Сделал вот что: Считал в двумерный масив коды цветов рисунка (получилась матрица NxM), начал отнимать столбцы этой матрицы и записывать результаты в другую матрицу, но размерностью N x M-1. И т.д. пока конечная матрица не стала Nx1. Получился столбец. Вот по нем я и определяю степень (коехициент) размытости, тоисть среднее арифметическое вектори или сумма всех его елементов. Чем число больше, тем картинка четче. Соответственно, чем число ближе к нулю, тем картинка более размыта. Основные недостатки метода: * чем больше картинка, тем медленнее все работает; * если брать только кусок изображения, то можно попасть на область однородного цвета (как писалось выше, белая картинак); |
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
используй вероятностную версию. Тогда можно получить быстрый алгоритм, не зависящий от размера изображения. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
SHONY_S |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
А можно по подробнее о вероятносной версии....
|
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
дам пример. Пусть у тебя есть картинка 256 степени серого Ты хочешь знать картинка вся черная (255) или в ней больше 10 процентов белых пикселей. Предположим тебя устраивает если алгоритм ошибется с вероятностью 0.000001 Тогда алгоритм такой ----------------- 1) Случайно берем 1000 пикселей ( заметь не зависит от размера картинки) 2) Если среднее этих пикселей содержит не более 5 процентов белых говорим что картинка черная, иначе говорим что в картинке хотябы 10 % белых google property testing for image processing -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |