Анализ зерна аустенита

Автор: Пользователь скрыл имя, 17 Декабря 2010 в 12:05, реферат

Описание работы

Описание принципа анализа размера зерна аустенита в углеродной структуре металла.

Работа содержит 1 файл

Анализ зерна аустенита.docx

— 1.57 Мб (Скачать)

3.3. Анализ зерна аустенита.

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

      При бинаризации изображения яркость  каждого пикселя сравнивается с  пороговым значением яркости; если значение яркости пикселя выше значения яркости порога, то на бинарном изображении  соответствующий пиксель будет  «белым», или «черным» в противном  случае.

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

  1. В первом случае порог выбирается автоматически между двумя максимумами гистограммы: в ее левой и правой части, - порог берется строго посередине между ними;

 
 
 
 
 
 

 
 

Рисунок 3.13. Бинаризация а автоматическом режиме

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

 
 
 
 
 
 
 
 

 
 

Рисунок 3.14. Бинаризация в ручном режиме

      Расчет  можно производить на уже таком  бинаризированном изображении, но, как видно, оно достаточно сильно зашумлено. Кроме того границы зерен при расчетах свою погрешность будет давать толщина линий, образующих границы зерен, которые нередко слиты с дефектами картинки (остатки перлита и феррита в ЗТВ).

      Таким образом возникает задача утоньшения линий до толщины в один пиксель и задача хотя бы частичного устранения шумов и дефектов. С этой целью в программу внесена так называемые «первичная обработка» и «очистка», которые и выполняют поставленные задачи.

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

 Утоньшение линий идет по следующему алгоритму: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рисунок 3.15. Блок-схемы алгоритмов «Утоньшение и «Очистка»

  • Бинаризированное изображение переводится в двухмерный массив чисел, где каждому пикселю соответствует элемент массива, представляющий собой число, соответствующее яркости пикселя.
  • Создается массив той же размерности, что и массив, содержащий изображение и заполняется так, как если бы занесенное в него изображение было полностью белым листом, то есть все элементы массива соответствуют яркости белого пикселя.
  • Организуется цикл, который ищет в каждой строке исходного массива непрерывные участки черных пикселей. Каждый такой участок изолируется и находится его середина. В дублирующий массив заносятся элементы обработанного участка. При этом элементу, соответствующему середине черного участка, присваивается значение яркости «черный», всем остальным элементам участка – «белый».
  • Таким образом ищутся все подобные участки в строке, после чего сканирование переходит на следующую строку. Подобным образом обрабатывается весь массив изображения.

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

    2.

  • Организуется цикл, который ищет в каждом столбце исходного массива непрерывные участки черных пикселей. Каждый такой участок изолируется и находится его середина. В дублирующий массив заносятся элементы обработанного участка. При этом элементу, соответствующему середине черного участка, присваивается значение яркости «черный», всем остальным элементам участка – «белый».
  • Таким образом ищутся все подобные участки в столбце, после чего сканирование переходит на следующий столбец. Подобным образом обрабатывается весь массив изображения.

   

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

   

 
 
 
 
 
 
 
 

Рисунок 3.16. Результат первичной обработки изображения

     

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

     

(Фрагмент кода, реализующий этот алгоритм, представлен  в приложении 1)

     

Поэтому следующим  этапом обработки предлагается очистить изображение от мелких дефектов: остатки  перлита и феррита. Этот этап называется «очистка».

     

Очистка производится в полуавтоматическом режиме в том  плане, что пользователю предлагается выбрать величину окна очистки. Сама очистка идет по следующему алгоритму (рис. 3.15) (приложение 2):

  1. Окно заданного размера пробегает по всему массиву, в котором хранится изображение таким образом, что каждый раз в середине окна оказывается каждый следующий пиксель. Алгоритм реализован таким образом, что независимо от размеров окна обрабатываются все пиксели. Это происходит за счет того, что близи границ изображения окно деформируется пододвигая к центру соответствующие свои рамки;
 
   
  1. В каждой точке проверяется следующее условие:
  • Если границы окна не пересекают ни одного черного пикселя, то очевидно, что все черные пиксели внутри окна являются изолированной группой. Алгоритмом такая группа воспринимается как помехи, и тогда такая группа закрашивается белым цветом;
  • Если границы окна пересекаются другими черными пикселями, то с группой пикселей внутри окна ничего не происходит.

   

 
 
 
 
 
 
 
 

   

Рисунок 3.17. Результат обработки изображения инструментом «очистка» с размером окна - 4

   

Таким образом очевидно, что размер окна позволяет удалять изолированные группы пикселей размером, совпадающим с размером самого окна. Поэтому не рекомендуется злоупотреблять «очисткой» на первых этапах обработки изображения, потому как нередко в исходном изображении границы зерен так же имеют разрывной характер из-за нечеткости изображения. В результате могут удаляться и фрагменты границ, которые воспримутся алгоритмом как помехи. Размер окна при первом проходе до применения следующих этапов обработки следует брать достаточно малым.

   

При первом проходе  следующим этапом обработки рекомендуется  проводить «соединения(а)». Этот инструмент позволяет провести в полуавтоматическом режиме некоторые соединительные линии между фрагментами разорванных границ. Этот этап обработки является достаточно важным, поскольку позволяет избавить пользователя от достаточно большого объема ручной обработки изображения, которая также предусмотрена и будет рассматриваться ниже.

   

«Соединения(а)» проводятся по следующему алгоритму (рис. 3.18):

      1. Инициализируется пара массивов: первый (А) – это массив координат пикселей, а второй (Б) – массив массивов координат пикселей;
      2. Далее запускается цикл, в котором происходит следующее:
      3. Алгоритм находит в массиве, в котором находится изображение первый попавшийся ему черный пиксель;
      4. Координаты пикселя заносятся в массив координат А;
      5. Далее запускается следующий алгоритм:
        1. Запускается процедура, которая ищет пиксели, которые непосредственно прилегают к найденному черному пикселю;
        2. Если такой пиксель найден, то повторяется шаг 2.2 – 2.3.1;
        3. Если такой пиксель не найден, то этот вложенный цикл заканчивается и продолжается внешний;
      6. В массиве Б инициализируется массив Б.i величиной , равной количеству черных пикселей, прочитанных в шагах 2.1 – 2.3.3 и из массива А в него переносятся координаты пикселей;

      Рисунок 3.18. Блок-схемы алгоритмов «Содинения(а)» и «Расчет»

      1. Далее повторяются шаги 2.1 – 2.4;
      2. Алгоритм продолжается до тех пор, пока не будет обработан весь массив, содержащий обрабатываемое изображение.

       

    В результате этого  образуется массив Б, состоящий массивов Б.i координат, каждый из которых соответствует непрерывному фрагменту из черных пикселей, которые мы будем называть отрезками.

    1.  
      1. Из массива Б берется первый массив Б.i;
      2. Далее исследуются все остальные массивы Б.i и ищется отрезок, начало которого является ближайшим к концу рассматриваемого. При этом максимальное рассматриваемое расстояние задается пользователем;
        1. Если такой отрезок найден, то два этих отрезка сливаются в один с началом, соответствующим началу первого отрезка и концом, соответствующим концу второго отрезка. Далее найденный отрезок помечается как использованный и при дальнейшем поиске не рассматривается, на экране между двумя объединенными отрезками проводится прямая линия;
        2. Если такой отрезок не найден, то алгоритм переходит к пункту 2.1 и повторяется до пункта 2.2.1;
      3. Алгоритм продолжается до тех пор пока не будут исследованы все отрезки на предмет нахождения ближайшего к ним;
      4. Изображение, сформированное на экране, считывается в массив изображения, замещая прошлую версию.

       

    Таким образом имеем на экране изображение, на котором между некоторыми разрывами линий проведены прямые.

       

    Этот этап обработки  можно повторить еще раз, но злоупотреблять им не следует, поскольку это может  привести к повышению величины ошибки при расчете номера зерна аустенита. 

       

       

       

       

       

     
     

       

       

     

       

    Рисунок 3.19. Результат использования инструмента «соединения(а)» с заданным расстоянием поиска 25

         

    (Фрагмент кода, реализующий этот алгоритм, представлен в приложении 3)

         

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

         

    «Соединения(б)» обрабатывают именно массив отрезков Б, полученный в конце обработки «соединения(а)», позволяя фактически продолжить начатую обработку и довести ее до логического конца, то есть проводить соединения до тех пор пока их проведение не станет невозможным.

         

    «Соединения(б)» можно проводить в пошаговом режиме и в автоматизированном. В первом случае каждое нажатие кнопки будет соответствовать одному шагу итерации, во втором случае алгоритм проработает сразу до конца.

         

    Фактически «соединения(б)» являются частью алгоритма «соединения(а)»:

      1. Из массива Б берется первый массив Б.i;
      2. Далее исследуются все остальные массивы Б.i и ищется  отрезок, начало которого является ближайшим к концу рассматриваемого. При этом максимальное рассматриваемое расстояние задается пользователем;
        1. Если такой отрезок найден, то два этих отрезка сливаются в один с началом, соответствующим началу первого отрезка и концом, соответствующим концу второго отрезка. Далее найденный отрезок помечается как использованный и при дальнейшем поиске не рассматривается, на экране между двумя объединенными отрезками проводится прямая линия;
        2. Если такой отрезок не найден, то алгоритм переходит к пункту 2.1 и повторяется до пункта 2.2.1;

     

     

     
     
     
     

       

    Рисунок 3.20. Результат использования инструмента «соединения(б)»

      1. Алгоритм продолжается до тех пор пока не будут исследованы все отрезки на предмет нахождения ближайшего к ним;
      2. Изображение, сформированное на экране, считывается в массив изображения, замещая прошлую версию;
      3. Алгоритм повторяется с шагов 1 - 4 до тех пор пока пункт два не даст нулевой результат.

         

    (Фрагмент кода, реализующий этот алгоритм, представлен  в приложении 4)

       

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

       

    Однако, как и  при обработке любого изображения, добиться наилучших результатов  только автоматическими методами задача довольно сложная, поэтому в программе  предусмотрена возможность ручного  редактирования изображения (методы просты в обращении и знакомы любому, кто знаком с графическим редактором Paint), а именно:

    1. Примитивы:
    • Удалить область – при использовании данного инструмента пользователь выделяет на изображении прямоугольную область произвольного размера, после чего данная область закрашивается белым цветом; с помощью этого средства можно удалять шумы с изображения;
    • Нарисовать прямую – при использовании данного инструмента пользователь может в произвольном месте изображения провести прямую, используя ее для дорисовки границ зерен;
    1. Кроме примитивов доступен и другой способ ручного редактирования – рисование:
    • Карандаш – позволяет рисовать линии черного цвета толщиной в один пиксель;
    • Ластик – позволяет закрашивать изображение белым цветом, при этом толщина кисти задается пользователем.
     
     
     
     

     
     
     
     
     
     
     
     

    Рисунок 3.21. Результат ручного редактирования изображения

         

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

         

    Кроме того расчет можно производить вручную (если зерна имеют ярко выраженную ось  симметрии) и в автоматическом режиме, который предпочтительней.

         

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

         

    При расчете в  автоматическом режиме минимально он идет в две итерации. На каждом шаге проводится по восемь вычислений. Таким образом пользователь имеет возможность менять количество проводимых вычислений дискретно по 16. Очевидно, что чем больше вычислений будет произведено, тем более точный результат будет получен.

         

    Рассмотрим алгоритм в автоматическом режиме (рис. 3.18):

        

    1. Поверх изображения проводится линия произвольного цвета в произвольном направлении, но таким образом, чтобы она пересекала изображение от края до края;

        

    2. Используется процедура, которая считывает в массив координат Л.i координаты всех точек этой линии;

        

    3. Затем массив полученной линии сопоставляется с массивом изображения, на предмет пересечения линией границ зерен, то есть черных пикселей;

        

    4. Линия разбивается точками пересечений на отрезки;

        

    5. Совокупная длина этих отрезков и их количество заносятся в специально отведенные для этого массивы (Дл.i и Кол.i);

        

    6. Шаги с 1 по 5 повторяются восемь раз в результате чего получаем по восемь массивов Дл.i и Кол.i;

        

    7. Далее эти  массивы используются для расчета  среднего условного диаметра  зерна аустенита по формуле:

                                                                    

    (1)

        

    8. Далее повторяются  шаги с 1 по 7;

        

    9. Если результаты  двух этих итераций различаются  более, чем на 15 процентов, повторяются шаги с 1 по 7 и последний результат заменяется новым и так до тех пор, пока не выполнится условие: два результата различаются менее, чем на 15 процентов;

        

    10. Полученный результат  считается ответом, на его основе  согласно ГОСТу определяется номер зерна аустенита;

        

    11. Если было  задано количество измерений  более одного, то шаги с 1 по 10 выполняются заданное количество  раз;

        

    12. После этого  находится среднее арифметическое  от результатов всех вычислений, которое считается окончательным  ответом, согласно ему определяется  номер зерна по ГОСТу;

        

    13. Средний условный  диаметр и номер зерна заносятся  в базу данных в запись, соответствующую  данному изображению.

        

    Рисунок 3.22. Определение номера зерна аустенита в автоматическом режиме.

          

    Как говорилось выше ручной алгоритм предусмотрен для определения номера зерна аустенита в случае, если зерна продолговаты и имеют ярковыраженную ось симметрии. В этом случае алгоритм следующий:

      1. Программа предлагает провести  три линии вдоль оси симметрии зерен;
      2. Затем программа предлагает провести три линии вдоль другой оси;
    1. Наконец предлагается провести три линии вдоль третьей произвольной оси;
    2. Используется процедура, которая для каждой из проведенных линий считывает в отдельный массив координат Л.i координаты всех точек этой линии;
    3. Затем массивы полученных линий сопоставляются с массивом изображения, на предмет пересечения линиями границ зерен, то есть черных пикселей;
    4. Линии разбиваются точками пересечений на отрезки;
    5. Совокупная длина этих отрезков и их количество заносятся в специально отведенные для этого массивы (Дл.i и Кол.i);
    6. Далее эти массивы используются для расчета среднего условного диаметра зерна аустенита для каждой из трех точек зрения по формуле:

                                                                    

    (2)

    1. После этого находится среднее арифметическое от результатов измерений по трем точкам зрения, которое и считается окончательным результатом измерения среднего условного диаметра зерна аустенита, по которому определяется номер зерна;
    2. Полученные результаты вычисления среднего условного диаметра зерна и номера зерна заносятся в базу данных, в запись, соответствующую обрабатываемому изображению

        

    (Фрагмент кода, реализующий этот алгоритм, представлен в приложении 5)

        

    Определение номера зерна аустенита по только что  бинаризированному изображению производится по тому же алгоритму, что и для обработанного изображения (это справедливо как для автоматического, так и для ручного режима), с той лишь разницей, что в массив изображения занесено это самое исходное изображение.

Информация о работе Анализ зерна аустенита