Здравствуйте!
Пытаюсь сделать изменение яркости, контрастности и резкости 24-битного bmp изображения. Яркость и контрастность сделать получилось довольно просто, а вот с резкостью что то не пойму как можно сделать. Поиск алгоритмов резкости в интернете сказал о том что для этого применяется фильтр Собеля который представляет собой исходную матрицу преобразованную с помощью матрицы ядра размера 3 на 3. Хочется сделать изменение резкости привязав его к ползунку где 0 это исходное изображение, значения выше 0 - это более резкие границы, меньше 0 - размытые границы. Из алгоритмов нашел только Собеля там матрицу задаем, к ползунку поидее не прикрутить. Подскажите пожалуйста какие еще могут быть способы изменение резкости что бы еще к ползунку привязаться можно было?
Обработка изображений: Яркость, контраст, резкость
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Обработка изображений: Яркость, контраст, резкость
Что именно надо сделать с резкостью?
Сделать уменьшение резкости можно без проблем. Например размытие по Гауссу. http://habrahabr.ru/post/123035/
Тогда исходное изображение имеет максимальную резкость и движком вы ее уменьшаете. А вот улучшить резкость относительно исходного изображения - задача далеко не тривиальная...
Сделать уменьшение резкости можно без проблем. Например размытие по Гауссу. http://habrahabr.ru/post/123035/
Тогда исходное изображение имеет максимальную резкость и движком вы ее уменьшаете. А вот улучшить резкость относительно исходного изображения - задача далеко не тривиальная...
-
- interested
- Сообщения: 5
- Зарегистрирован: 01 дек 2014, 23:32
- Версия LabVIEW: 10
- Контактная информация:
Re: Обработка изображений: Яркость, контраст, резкость
А как не тривиально резкость можно увеличить относительно исходного?
Находил еще реализацию на С# http://www.cyberforum.ru/csharp-beginne ... 43752.html только код не совсем понятен
Находил еще реализацию на С# http://www.cyberforum.ru/csharp-beginne ... 43752.html только код не совсем понятен
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Обработка изображений: Яркость, контраст, резкость
Восстановить резкость полностью и абсолютно точно невозможно. Ведь при размытии происходит потеря информации и восстановить ее можно только имея какие-то предположения о методе размытия. Чтобы было понятней, например вам надо восстановить яркость изображения. Попробуйте уменьшить яркость своего изображения до нуля, потом сохраните в файл. Затем откройте этот файл и попробуйте восстановить исходное изображение.
О каких-то попытках восстановления резкости можно здесь почитать: http://habrahabr.ru/post/147828/
Я не специалист по обработке изображений, может быть кто-то на форуме еще поможет...
О каких-то попытках восстановления резкости можно здесь почитать: http://habrahabr.ru/post/147828/
Я не специалист по обработке изображений, может быть кто-то на форуме еще поможет...
-
- interested
- Сообщения: 5
- Зарегистрирован: 01 дек 2014, 23:32
- Версия LabVIEW: 10
- Контактная информация:
Re: Обработка изображений: Яркость, контраст, резкость
Не восстановить по идее т.к. те составляющие R,G,B которые оказывались меньше 0 в процессе уменьшении считались как 0 и при дальнейшем уменьшении. т.е. мы потеряли их реальное значение
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 42 раза
- Контактная информация:
Re: Обработка изображений: Яркость, контраст, резкость
Можно воспользоваться Винеровским фильтром:
В реальных условиях, конечно подобрать восстанавливающую функцию будет не так просто, но определённых результатов добиться можно.
http://habrahabr.ru/post/180393/
Также можно восстановить и смаз изображения - надо лишь знать точную траеторию движения камеры во время экспонирования (обвешав камеру акселерометрами, к примеру)
http://research.microsoft.com/pubs/1327 ... urring.pdf
В реальных условиях, конечно подобрать восстанавливающую функцию будет не так просто, но определённых результатов добиться можно.
http://habrahabr.ru/post/180393/
Также можно восстановить и смаз изображения - надо лишь знать точную траеторию движения камеры во время экспонирования (обвешав камеру акселерометрами, к примеру)
http://research.microsoft.com/pubs/1327 ... urring.pdf
- Вложения
-
- 01.Wiener Filter - Grayscale.vi
- (980.14 КБ) 293 скачивания
-
- interested
- Сообщения: 5
- Зарегистрирован: 01 дек 2014, 23:32
- Версия LabVIEW: 10
- Контактная информация:
Re: Обработка изображений: Яркость, контраст, резкость
Большое спасибо за пример и ссылки, почитал, результаты впечатлили!
Пробую переделать под цветное пока что то не выходит, что то делаю принципиально не так видимо.
По идее нужно же к каждому компоненту R, G, B применить функцию эту, но получаются синие пингвины)
Пробую переделать под цветное пока что то не выходит, что то делаю принципиально не так видимо.
По идее нужно же к каждому компоненту R, G, B применить функцию эту, но получаются синие пингвины)
- Вложения
-
- t2.rar
- (284.44 КБ) 250 скачиваний
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 42 раза
- Контактная информация:
Re: Обработка изображений: Яркость, контраст, резкость
fivem писал(а):Большое спасибо за пример и ссылки, почитал, результаты впечатлили!
Пробую переделать под цветное пока что то не выходит, что то делаю принципиально не так видимо.
По идее нужно же к каждому компоненту R, G, B применить функцию эту, но получаются синие пингвины)
- Вложения
-
- 01.Wiener Filter - Color.vi
- (1.44 МБ) 277 скачиваний
-
- interested
- Сообщения: 5
- Зарегистрирован: 01 дек 2014, 23:32
- Версия LabVIEW: 10
- Контактная информация:
Re: Обработка изображений: Яркость, контраст, резкость
Пробую переделать под свой пример - для этого нужно из 2d pixmap 24bit bmp сделать 3д массив.
Пробую это сделать - картинка получается искаженной, это из-за того что у меня целые числа в 3д массиве, а там тип dbl и есть цифры после запятой?
Хотя видимо не из-за этого, а из-за того, что в Вашем примере размеры массива [3][256][256], а у меня выходит под размер картинки - [3][243][255]
Пробую это сделать - картинка получается искаженной, это из-за того что у меня целые числа в 3д массиве, а там тип dbl и есть цифры после запятой?
Хотя видимо не из-за этого, а из-за того, что в Вашем примере размеры массива [3][256][256], а у меня выходит под размер картинки - [3][243][255]
- Вложения
-
- 01.Wiener Filter - Color.vi
- (1.44 МБ) 239 скачиваний
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение