2012-04-25 4 views
4

Извините, если это кажется глупым или ленивым вопросом «я не могу найти», но я уже несколько дней пытался найти бумагу или что-нибудь подобное, чтобы объяснить, как для создания спекл-шума (на 2D-изображениях). Я обнаружил, что одним из наиболее простых способов удаления спекл-шума является средний фильтр (который я уже реализовал), но абсолютно нигде не могу найти способ генерации шума. Может кто-нибудь, пожалуйста, направить меня туда, где я могу научиться генерировать спекл-шум? Кроме того, было бы интересно узнать, был ли простой способ сделать это в OpenCV (библиотека обработки изображений C++).Генератор шумового шума

Спасибо за любую помощь вы можете предоставить.

ответ

4

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

Вот некоторая простая питон код, который может привести к мультипликативному спеклу шум:

import cv 

im = cv.LoadImage('tree.jpg', cv.CV_LOAD_IMAGE_GRAYSCALE) 
mult_noise = cv.CreateImage((im.width,im.height), cv.IPL_DEPTH_32F, 1) 

cv.RandArr(cv.RNG(6), mult_noise, cv.CV_RAND_NORMAL, 1, 0.1)  

cv.Mul(im, mult_noise, im) 

cv.ShowImage("tree with speckle noise", im) 
cv.WaitKey(0) 

никакого шума:

enter image description here

с спекл шумом: enter image description here

+0

Вау! Код + отличное объяснение + документ, на который я могу ссылаться? Огромное спасибо. – user901898

+0

@ user901898 - приветствия :) и вам повезло! – fraxel

0

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

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

Другая (возможно, лучшая) возможность - исследовать сайты НАСА/ЕКА и искать изображения SAR (искать программы, такие как Pleiades, Cosmo-Skymed и SAR Lupe). В некоторых лабораториях с лазерной визуализацией mnybe также публично публикуются некоторые примеры данных.

+0

Я разработал методы для генерации шума S & P, поэтому, если я просто умножу результат S & P на результат S & P, это должно быть " похожего "на Speckle noise? Мое приложение на самом деле заключается в сравнении и сопоставлении способности денисации различных пространственных, частотных и вейвлет-технологий. Проблема в том, что меня просят испортить изображения, используя a) Gaussian b) S & P и c) Speckle. Я разработал методы ранее для двух других, но, похоже, застрял на изображениях спекл. Я также рассмотрю другую возможность. Спасибо за быстрый ответ :) – user901898

+0

Это для научного курса обработки изображений? Большинство базовых курсов предполагают speckle как мультипликативный шум, поэтому умножение вашего изображения на шум (вместо его добавления) должно сделать трюк. Но вы можете запросить подтверждение TA. – sansuiso

0

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

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

+0

Спасибо за быстрый ответ. Как я уже упоминал в другом месте, моя заявка требует, чтобы я генерировал шум для гауссова, соли и перца и спекл. – user901898

+0

«speckle» - это общее название для шумного шаблона, оно может быть гауссовым или S & P, поэтому я не получаю то, что задано – CharlesB

Смежные вопросы