Objektų aptikimas yra svarbus kompiuterinės vizijos aspektas, kurio tikslas yra identifikuoti ir surasti objektus vaizde. Vienas iš būdų, kaip nurodyti objekto vietą vaizde, yra ribojantis langelis. Apribojantis langelis yra stačiakampis langelis, kurį galima apskaičiuoti naudojant paprastą mechanizmą, kuris apima pagrindines matematikos sumažinimo ir padidinimo funkcijas.
Be to, langelis gali būti pavaizduotas dviem koordinatėmis: (x, y) viršutiniame kairiajame kampe ir (x, y) apatiniame dešiniajame kampe. Ši informacija yra labai svarbi įvairiose realiose programose, aptarnaujančiose profesionalus nuo stebinčiųjų iki savaeigių automobilių pramonės.
Problemos pareiškimas ir sprendimas
Pagrindinė problema, su kuria susiduriame aptikdami vaizdą ir objektą, yra tai, kaip tiksliai nustatyti objekto vietą vaizde. Sprendimas yra naudoti ribojantį langelį, kurį galima apskaičiuoti naudojant paprastą mechanizmą, apimantį įvairias python bibliotekas.
Pitonas yra puikus pasirinkimas šiai užduočiai, nes jame yra daug bibliotekų ir įrankių, kurie supaprastina procesą, todėl jis yra efektyvus ir paprastas. Dažniausiai naudojamos dvi pagrindinės bibliotekos – OpenCV ir Matplotlib.
OpenCV ir Matplotlib metodas
OpenCV reiškia Open Source Computer Vision biblioteką ir apima kelis šimtus kompiuterinės vizijos algoritmų. Kita vertus, „Matplotlib“ yra „Python“ programavimo kalbos ir jos skaitinės matematikos plėtinio „NumPy“ braižymo biblioteka. Tai labai greitas būdas vizualizuoti duomenis iš Python ir publikacijos kokybės figūras įvairiais formatais.
import cv2 import matplotlib.pyplot as plt # read image image = cv2.imread('input.jpg') # our bounding box coordinates box = (x1, y1, x2, y2) # Draw rectangle (bounding box) cv2.rectangle(image, (box[0], box[1]), (box[2], box[3]), (0, 255, 0), 2) # Display the image with bounding box plt.imshow(image) plt.show()
Vaizdas įkeliamas naudojant imread metodą iš cv2, o tada naudojant cv2.rectangle funkciją nubrėžiamas ribojantis langelis, kuris paima vaizdą ir dvi koordinates, vaizduojamas „box“. Paskutiniai du parametrai yra atitinkamai spalva ir storis. Šis kodas parodys jūsų vaizdo objektus, visiškai surištus langeliu.
Apribojimo dėžių panaudojimas
Apibendrinant galima pasakyti, kad ribojančios dėžės atlieka gyvybiškai svarbų vaidmenį atliekant kompiuterinio matymo užduotis, įskaitant objektų aptikimą, kompiuterinį matymą ir vaizdo apdorojimą. Jie siūlo veiksmingą ir efektyvų objektų ir metaduomenų informacijos vietos nustatymą vaizduose. Mokymasis tiksliai įdiegti ribojančius langelius „Python“ gali būti labai naudingas visiems, dalyvaujantiems programinės įrangos kūrimo, mašininio mokymosi ar dirbtinio intelekto karjeros srityje. Tai ne tik naudinga saugumui ir stebėjimui, bet ir labai padeda tokiose programose kaip veido aptikimas ir atpažinimas, pėsčiųjų aptikimas ir pažangios vairuotojo pagalbos sistemos (ADAS) savarankiškai vairuojamuose automobiliuose.