Цифровая обработка изображений с помощью MATLAB с использованием 3 методов - PullRequest
5 голосов
/ 14 марта 2011

У меня есть домашнее задание в MATLAB.Я должен использовать 3 метода обработки изображений.Поэтому я должен сделать задачу, а затем решить ее, используя 3 метода (например, пороговое значение, сегментация, морфология, восстановление, выравнивание гистограммы, удаление шума ...).Мне нужна идея и как ее решить, вы мне поможете?:)

Спасибо.

  • В редакции:

Я нашел это в какой-то книге ...у тебя есть идеи?Можно ли восстановить изображение a на изображение i ?

Примечание : ниже указано некое решение.не понимаю :( Можешь мне это объяснить?

Solution??

Ответы [ 3 ]

6 голосов
/ 14 марта 2011

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

Давайте сделаем это в Mathematica.(MATLAB - это ваша домашняя работа).

Давайте назовем наше изображение i :

i = enter image description here

И давайте попробуем выделить маску под названием маска :

маска = enter image description here

См. Примеры кодов:

(* First Method, by Image Correlation*)
x = ImageCorrelate[ i, mask, EuclideanDistance];
r = Position[ImageData@Binarize[x, 0.2], 0, Infinity];
(*Show that we found the right spot *)
ImageCompose[i, 
 ColorNegate@
  mask, {0, Dimensions[ImageData[i]][[1]]} - {-1, 1} Reverse[r[[1]]]]

Результат:

enter image description here

(* Second method, separating channels, 
   thresholding and deleting small components*)

r = DeleteSmallComponents@Binarize[#, .99] &@
   ColorNegate[ColorSeparate[i][[3]]];
ImageMultiply[i, r]

Результат:

enter image description here

(* Third method, extracting the exact color *)
Image[ImageData[i] /. {1., 0.6, 0.} -> {a} /. {_, _, _} -> {0, 0,0} /. 
                                       {a} -> {1., 0.6, 0.}]  

Результат:

enter image description here

НТН!

4 голосов
/ 15 марта 2011

Я пробую изображения, которые вы разместили в редактировании. Результаты не идеальны, но это приблизительное. Поиск подходящих фильтров может занять некоторое время.

Сначала применив фильтр Лапласа для удаления шума, вы получите:

TotalVariationFilter[image, 1, Method -> "Laplacian"]  

enter image description here

И тогда вам придется деконволюцию размытия по диагонали. Вам нужно ядро, подобное этому:

enter image description here

Который применительно к отсутствующему шуму изображению дает:

ImageDeconvolve[denoisedImage, kernel, Method -> "RichardsonLucy", 
 MaxIterations -> 15]

enter image description here

Изображение не идеальное, но я надеюсь, что это даст вам представление о том, что можно сделать.

1 голос
/ 18 марта 2011

Восстановление этой картины очень сложно ... Поэтому я решил сменить задачу.

Задача и решение обсуждаются здесь:

http://geogeeks.net/2011/03/18/digital-image-processing-using-matlab/

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