Zaznavanje predmetov je pomemben vidik računalniškega vida, kjer je cilj prepoznati in locirati predmete na sliki. Eden od načinov za označevanje lokacije predmeta na sliki je omejevalni okvir. Omejitveni okvir je pravokoten okvir, ki ga je mogoče izračunati s preprostim mehanizmom, ki vključuje osnovno matematično funkcijo minimiziranja in maksimiziranja.
Škatla je poleg tega lahko predstavljena z dvema koordinatama, (x, y) v zgornjem levem kotu in (x, y) v spodnjem desnem kotu. Te informacije se izkažejo za ključne v različnih aplikacijah v resničnem življenju, saj služijo strokovnjakom od tistih v nadzoru do industrije samovozečih avtomobilov.
Izjava o problemu in rešitev
Glavna težava, s katero se soočamo pri zaznavanju slik in predmetov, je, kako natančno identificirati lokacijo predmeta na sliki. Rešitev je uporaba omejevalnega polja, ki ga je mogoče izračunati s preprostim mehanizmom, ki vključuje različne knjižnice python.
Python je odlična izbira za to nalogo, saj ima bogate knjižnice in orodja, ki poenostavljajo postopek, zaradi česar je učinkovit in preprost. Običajno se uporabljata dve glavni knjižnici – OpenCV in Matplotlib.
Pristop OpenCV in Matplotlib
OpenCV pomeni odprtokodno knjižnico računalniškega vida in vključuje več sto algoritmov računalniškega vida. Matplotlib pa je knjižnica za risanje za programski jezik Python in njegovo numerično matematično razširitev NumPy. Zagotavlja tako zelo hiter način za vizualizacijo podatkov iz Pythona kot številke kakovosti objave v številnih formatih.
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()
Slika se naloži z metodo imread iz cv2, nato pa se s funkcijo cv2.rectangle nariše omejevalni okvir, ki prevzame sliko in dve koordinati, ki ju predstavlja 'box'. Zadnja dva parametra sta barva in debelina. Ta koda bo prikazala predmete na vaši sliki, ki so v celoti povezani s poljem.
Uporaba omejevalnih okvirjev
Skratka, omejevalni okvirji igrajo ključno vlogo pri nalogah računalniškega vida, vključno z zaznavanjem predmetov, računalniškim vidom in obdelavo slik. Ponujajo učinkovito in uspešno rešitev za lociranje predmetov in informacij o metapodatkih znotraj slik. Učenje natančne implementacije omejevalnih okvirjev v Pythonu lahko zelo koristi vsem, ki se ukvarjajo z razvojem programske opreme, strojnim učenjem ali kariero z umetno inteligenco. Ne le, da je uporaben pri varnosti in nadzoru, ampak tudi močno pomaga pri aplikacijah, kot so zaznavanje in prepoznavanje obrazov, zaznavanje pešcev in napredni sistemi za pomoč voznikom (ADAS) v samovozečih avtomobilih.