Страница 2 из 2
Re: ПО для выделения линеаментов
Добавлено: 15 окт 2010, 23:44
Красная шапочка
AndreyL писал(а): Еще кратенькое описание видел, по-моему в Геоматике, там сейчас модуль то-ли делается, то-ли сделан уже, но ссылку не помню.
да, модуль Line уже существует, но как я уже писала, у меня нет стабильной версии Геоматики.
По технологиям - я знаю о них, но хотелось бы иметь готовое и доступное решение для выполнения линеаментного анализа. То есть работы не столько, чтобы писать самой. Но видимо, придется.
Но в любом случае, всем большое спасибо.
Re: ПО для выделения линеаментов
Добавлено: 15 авг 2011, 18:52
hsargsyan
AndreyL писал(а):детектор Канни, его можно сделать двумя фильтрами, например в ЭНВИ
Пожалуйста подскажите какими именно фильтрами?
Re: ПО для выделения линеаментов
Добавлено: 16 авг 2011, 16:45
AndreyL
Дык в
ссылочке все, вроде, описано
Re: ПО для выделения линеаментов
Добавлено: 17 авг 2011, 17:10
hsargsyan
Спасибо
Посмотрел по данной ссылке.
В ЭНВИ обработал снимок ландсата с использованием фильтра Гауса 5*5 потом фильтрами Собела И Робертса. Результат не очень, вопрос состоит в выборе оптимальных значений скользащего окна. Если кто делал подобное, подскажите пожалуйста какие значения оптимальны для фильтра Гауса (в основном пробовал на 3 и 4 каналах ландсата) и фильтров Собелья и Робертса.
P.S. я новичок и прошу прощения за возможно тривиальные вопросы..

Re: ПО для выделения линеаментов
Добавлено: 19 авг 2011, 03:06
Pilot
собел и робертс, конечно могут не дать нужного результата. лучше Канни. В энви он непосредственно, кажется, не реализован, но есть в IDL. Можно посмотреть в примерах и переписать код под свои задачи. Хотя меня такой результат не вполне удовлетворил, поэтому использовал Matlab. Как мне показалось там эти функции проще реализовать.
Re: ПО для выделения линеаментов
Добавлено: 19 авг 2011, 10:17
AndreyL
Pilot писал(а):собел и робертс, конечно могут не дать нужного результата. лучше Канни
Третий раз в этой ветке форума приводить одну и ту же ссылку не вижу смысла, посему вот оттуда кусочек:
Stages of the Canny algorithm
Noise reduction
The Canny edge detector uses a filter based on the first derivative of a Gaussian, because it is susceptible to noise present on raw unprocessed image data, so to begin with, the raw image is convolved with a Gaussian filter. The result is a slightly blurred version of the original which is not affected by a single noisy pixel to any significant degree.
Here is an example of a 5x5 Gaussian filter, used to create the image to the right, with σ = 1.4:

Finding the intensity gradient of the image
A binary edge map, derived from the Sobel operator, with a threshold of 80. The edges are coloured to indicate the edge direction: yellow for 90 degrees, green for 45 degrees, blue for 0 degrees and red for 135 degrees.
An edge in an image may point in a variety of directions, so the Canny algorithm uses four filters to detect horizontal, vertical and diagonal edges in the blurred image. The edge detection operator (Roberts, Prewitt, Sobel for example) returns a value for the first derivative in the horizontal direction (Gy) and the vertical direction (Gx). From this the edge gradient and direction can be determined:


The edge direction angle is rounded to one of four angles representing vertical, horizontal and the two diagonals (0, 45, 90 and 135 degrees for example).
Re: ПО для выделения линеаментов
Добавлено: 19 авг 2011, 11:08
Pilot
да, это всё верно. Просто шла речь о реализации в конкретном программном обеспечении. В ENVI используя эти фильтры я не добился нужного мне результата (может плохо копал, конечно). В Matlab это получилось лучше.
Re: ПО для выделения линеаментов
Добавлено: 19 авг 2011, 13:16
AndreyL
Использование того или иного программного обеспечения - дело вкуса. Насколько я понимаю, вопрос от hsargsyan, если я правильно понял, заключается в следующем: какие есть рекомендации по выбору параметров фильтров, собственно, параметры есть только у фильтра Гаусса
Re: ПО для выделения линеаментов
Добавлено: 19 авг 2011, 13:55
hsargsyan
AndreyL писал(а):какие есть рекомендации по выбору параметров фильтров
Я так понял что конкретных рекомендаций нет, так-как наверное нужно подбирать значения под конкретный снимок...
В Matlab непробовал, но при использовании в ENVI значения приведенные по
ссылке явно не оптимальны и не дают желаемого результата...
Всем спасибо за ценные советы
Re: ПО для выделения линеаментов
Добавлено: 22 авг 2011, 03:30
Pilot
я подбирал сигму опытным путём. зависит от пространственного разрешения снимка, характера линеаментов.
В общем, выполняется две функции. 1. Canny edge-detection и 2. Hough transform.
http://idlastro.gsfc.nasa.gov/idl_html_help/CANNY.html
http://idlastro.gsfc.nasa.gov/idl_html_help/HOUGH.html
В матлабе есть готовые скрипты для этих трансформаций