ОПЕНЦВ: Сегментација помоћу прага

ОПЕНЦВ: Сегментација помоћу прага
У овом чланку је основна техника за сегментацију објекта звала Прагов . Али пре него што се усели у више детаља у наставку је кратак преглед ОпенЦВ-а. Опенцв (Рачунарска визија отвореног кода) је крчна платформа Отворена библиотека програмских функција чији је циљ обављање радних задатака у реалном времену у широком разноликој пољима као што су:
  • Препознавање лица
  • Системи препознавања ИРИС-а
  • Препознавање гесте
  • Интеракција хумане рачунаре (ХЦИ)
  • Мобиле Роботицс
  • Идентификација предмета
  • Сегментација и препознавање
  • Стерео визија стереопсиса: Перцепција дубине од 2 камере
  • Повећала стварност
Такође укључује чврсту библиотеку учења статистичке машине која садржи бројне различите класификације који се користе за подршку горе наведених подручја. Да бисте користили ОпенЦВ једноставно увезени или укључите потребне библиотеке и почните да искористите безброј расположивих функција. Прагов је веома популарна техника сегментације која се користи за одвајање предмета из његове позадине. У члану у наставку описала сам различите технике које се користе за прагу Слике сиве (8-битни) . Процес прагов Укључује поређење сваке вредности пиксела слике (интензитета пиксела) на одређени праг. Ово дели све пикселе улазне слике у 2 групе:
  1. Пиксели који имају вредност интензитета нижи од прага.
  2. Пиксели који имају вредност интензитета већим од прага.
Ове две групе сада су дате различите вредности у зависности од различитих врста сегментација. ОпенЦВ подржава 5 различитих шема прага на ГреиСцале (8-битним) сликама користећи функцију: Двоструки праг (Инпутарраи СРЦ ОутпутерАрраи ДСТ Доубле Тхреесх Доубле Маквал Инт Типе) Параметри:
  • ИНПУТАРАР СРЦ: Улазна слика (МАТ 8-битни или 32-битни)
  • ОутпутерАрраи ДСТ: Излазна слика (исте величине као улаз)
  • Двокреветна мрежа: постављена вредност прага
  • Доубле Маквал: Маквал се користи у типу 1 и 2
  • ИНТ ТИП *: Одређује врсту прага који ће се користити. (0-4)
  • * Испод је дата листа типова прагова. Улазна слика ориг Улазна РГБ слика се прво претвори у слику сиве скале пре него што се врши праговање. ОПЕНЦВ: Сегментација помоћу прага Врсте праг
      Бинарни праг (Инт Типе = 0) 0_130 Две групе добијене раније групе која има чланове са интензитетом пиксела већем од постављеног прага су додељени Мак_Валуе или у случају сиве знаке вредности од 255 (бела). Чланови преостале групе имају своје интензитете пиксела на 0 (црни). ЕК1 Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност у финалној слици је постављена на МАКВАЛ. Инвертирани бинарни праг (упишите ИНТ = 1) 1_130 Инв. Бинарни праг је исти као бинарни праг. Једина суштинска разлика у Инв.Бинаини праговање Група која има интензитете пиксела веће од постављеног прага постаје "0", док преосталих пиксела имају интензитете мање од прага постављени су на Маквал. ек2 Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност у финалној слици је постављена на 0 иначе, постављена је на МАКВАЛ. Скраћено праговање (Инт типе = 2) 2_150 Група која има интензитет пиксела већа од постављеног прага скраћена је на постављену прагу или другим речима, вредности пиксела постају исте као и постављени праг. Све остале вредности остају исте. ЕК3 Ако је вредност интензитета пиксела на (к и) у изворној слици већа од прага, вредност у финалној слици је постављена на прагу осталог, непромењена је. Праг на нулу (Инт Типе = 3) ОПЕНЦВ: Сегментација помоћу прага Врло једноставна техника прагова у којој смо поставили интензитет пиксела на '0' за све пикселе групе која има вредност интензитета пиксела мање од прага. ЕК4 Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност на (к и) у финалној слици се не мења. Сви преостали пиксели су постављени на '0'. Праг до нула обрнута (Инт Типе = 4) ОПЕНЦВ: Сегментација помоћу прага Слично као и претходна техника Овде постављамо интензитет пиксела на '0' за све пикселе групе која има вредност интензитета пиксела већа од прага. ЕК5 Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност на (к и) у финалној слици је постављена на '0'. Сва преостала вредност пиксела је непромењена.
    Да бисте састављали ОПенЦВ програме, морате да имате инсталирану ОпенЦВ библиотеку у вашем систему. Ја ћу објавити једноставан туториал исто у наредним данима. Ако сте већ инсталирали ОпенЦВ Покрените доњи код са улазном имиџом по вашем избору. CPP
       // CPP program to demonstrate segmentation   // thresholding.   #include         #include         #include         #include         using     namespace     cv  ;   int     main  (  int     argc       char  **     argv  )   {      if     (  argc     !=     2  )         {      cout      < <     ' Usage:  '      '   '      < <     endl  ;      return     -1  ;      }      int     threshold_value     =     0  ;      // Valid Values: 0 1 2 3 4      int     threshold_type     =     2  ;         // maxVal useful for threshold_type 1 and 2      int     maxVal     =     255  ;         // Source image      Mat     src     =     imread  (  argv  [  1  ]     1  );      cvNamedWindow  (  'Original'       CV_WINDOW_NORMAL  );      imshow  (  'Original'       src  );      Mat     src_gray       dst  ;      // Convert the image to GrayScale      cvtColor  (  src       src_gray       CV_BGR2GRAY  );      // Create a window to display results      cvNamedWindow  (  'Result'       CV_WINDOW_NORMAL  );      createTrackbar  (  'Threshold'       'Result'           &  threshold_value       255  );      while     (  1  )         {      threshold  (  src_gray       dst       threshold_value           maxVal       threshold_type  );      imshow  (  'Result'       dst  );      waitKey  (  1  );      }   }   

    Можда Ће Вам Се Свидети