logo

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

У овом чланку је основна техника за сегментацију објекта звала Прагов . Али пре него што се усели у више детаља у наставку је кратак преглед ОпенЦВ-а. Опенцв (Рачунарска визија отвореног кода) је крчна платформа Отворена библиотека програмских функција чији је циљ обављање радних задатака у реалном времену у широком разноликој пољима као што су:
  • Препознавање лица
  • Системи препознавања ИРИС-а
  • Препознавање гесте
  • Интеракција хумане рачунаре (ХЦИ)
  • Мобиле Роботицс
  • Идентификација предмета
  • Сегментација и препознавање
  • Стерео визија стереопсиса: Перцепција дубине од 2 камере
  • Повећала стварност
Такође укључује чврсту библиотеку учења статистичке машине која садржи бројне различите класификације који се користе за подршку горе наведених подручја. Да бисте користили ОпенЦВ једноставно увезени или укључите потребне библиотеке и почните да искористите безброј расположивих функција. Прагов је веома популарна техника сегментације која се користи за одвајање предмета из његове позадине. У члану у наставку описала сам различите технике које се користе за прагу Слике сиве (8-битни) . Процес прагов Укључује поређење сваке вредности пиксела слике (интензитета пиксела) на одређени праг. Ово дели све пикселе улазне слике у 2 групе:
  1. Пиксели који имају вредност интензитета нижи од прага.
  2. Пиксели који имају вредност интензитета већим од прага.
Ове две групе сада су дате различите вредности у зависности од различитих врста сегментација. ОпенЦВ подржава 5 различитих шема прага на ГреиСцале (8-битним) сликама користећи функцију: Двоструки праг (Инпутарраи СРЦ ОутпутерАрраи ДСТ Доубле Тхреесх Доубле Маквал Инт Типе) Параметри:
  • ИНПУТАРАР СРЦ: Улазна слика (МАТ 8-битни или 32-битни)
  • ОутпутерАрраи ДСТ: Излазна слика (исте величине као улаз)
  • Двокреветна мрежа: постављена вредност прага
  • Доубле Маквал: Маквал се користи у типу 1 и 2
  • ИНТ ТИП *: Одређује врсту прага који ће се користити. (0-4)
  • * Испод је дата листа типова прагова. Улазна слика ориг' title= Улазна РГБ слика се прво претвори у слику сиве скале пре него што се врши праговање. ОПЕНЦВ: Сегментација помоћу прага' title= Врсте праг
      Бинарни праг (Инт Типе = 0) 0_130' title= Две групе добијене раније групе која има чланове са интензитетом пиксела већем од постављеног прага су додељени Мак_Валуе или у случају сиве знаке вредности од 255 (бела). Чланови преостале групе имају своје интензитете пиксела на 0 (црни). ЕК1' title= Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност у финалној слици је постављена на МАКВАЛ. Инвертирани бинарни праг (упишите ИНТ = 1) 1_130' title= Инв. Бинарни праг је исти као бинарни праг. Једина суштинска разлика у Инв.Бинаини праговање Група која има интензитете пиксела веће од постављеног прага постаје "0", док преосталих пиксела имају интензитете мање од прага постављени су на Маквал. ек2' title= Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност у финалној слици је постављена на 0 иначе, постављена је на МАКВАЛ. Скраћено праговање (Инт типе = 2) 2_150' title= Група која има интензитет пиксела већа од постављеног прага скраћена је на постављену прагу или другим речима, вредности пиксела постају исте као и постављени праг. Све остале вредности остају исте. ЕК3' title= Ако је вредност интензитета пиксела на (к и) у изворној слици већа од прага, вредност у финалној слици је постављена на прагу осталог, непромењена је. Праг на нулу (Инт Типе = 3) ОПЕНЦВ: Сегментација помоћу прага' title= Врло једноставна техника прагова у којој смо поставили интензитет пиксела на '0' за све пикселе групе која има вредност интензитета пиксела мање од прага. ЕК4' title= Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност на (к и) у финалној слици се не мења. Сви преостали пиксели су постављени на '0'. Праг до нула обрнута (Инт Типе = 4) ОПЕНЦВ: Сегментација помоћу прага' title= Слично као и претходна техника Овде постављамо интензитет пиксела на '0' за све пикселе групе која има вредност интензитета пиксела већа од прага. ЕК5' title= Ако је вредност интензитета пиксела на (к И) у изворној слици већа од прага, вредност на (к и) у финалној слици је постављена на '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);  } }