klasa Image – objekt slike¶
Image je središnji tip podataka modula image – međuspremnik piksela u memoriji na kojem djeluje svaka rutina za crtanje, svaki filtar, svaka geometrijska transformacija i svaka rutina za izdvajanje značajki. Svaka sličica koja izlazi iz csi.CSI.snapshot() je Image; isto vrijedi za svaku sličicu učitanu s diska, dekodiranu iz JPEG-a ili PNG-a, dodijeljenu iz ndarray u stilu numpyja ili konstruiranu kao prazno platno za crtanje.
Image opisan je trima brojevima – width, height i pixformat – te kontinuiranim međuspremnikom piksela. Format piksela određuje i raspored u memoriji i koje su operacije dostupne:
BINARY (1 bpp) – 1 bit po pikselu; koristi se za morfologiju i određivanje praga.
GRAYSCALE (8 bpp) – 1 bajt po pikselu; kanonski format za većinu strojnog vida (AprilTag, rubovi, ORB, optički tok).
RGB565 (16 bpp) – 2 bajta po pikselu (5R/6G/5B); zadani format boje.
BAYER (8 bpp) – sirovi podaci Bayerova mozaika izravno sa senzora. Većina metoda strojnog vida nije dostupna na Bayerovim slikama; prvo izvršite debayering u GRAYSCALE / RGB565.
YUV422 (16 bpp) – boja s 4:2:2 poduzorkovanjem krominancije, dva bajta po pikselu. Samo neke metode rade izravno na YUV422.
JPEG / PNG – komprimirani međuspremnici. Operacije na razini piksela zahtijevaju da prvo pozovete
to_grayscale()ilito_rgb565().
Odakle dolaze objekti Image¶
Postoje četiri načina za dobivanje objekta Image:
Iz međuspremnika slike kamere –
csi.CSI().snapshot()vraća sljedeću snimljenu sličicu. Vraćeni objekt tanak je omotač oko memorije međuspremnika slike kamere, pa svaka operacija crtanja / filtriranja na njemu mijenja ono što se šalje na pregled u IDE-u i na zaslon.Iz datoteke – proslijedite niz s putanjom konstruktoru
Image. BMP, PGM, PPM, JPEG i PNG dekodiraju se izravno u RAM (ili u međuspremnik slike kamere ako jecopy_to_fb=True).Iz ndarray – proslijedite float32 polje oblika
(h, w)ili(h, w, 3). Pikseli se skaliraju iz raspona0.0 -- 255.0u GRAYSCALE odnosno RGB565.Prazno – proslijedite
(width, height, pixformat)da biste dodijelili površinu za crtanje ispunjenu nulama. Za komprimirane formate piksela (JPEG/PNG) potreban je argumentbuffer=koji sadrži komprimirani niz bajtova.
Tipična petlja snimanja-obrade-prikaza¶
import csi
import image
sensor = csi.CSI()
sensor.reset()
sensor.pixformat(csi.RGB565)
sensor.framesize(csi.QVGA)
while True:
img = sensor.snapshot() # capture
for blob in img.find_blobs([(30, 100, 15, 127, 15, 127)]): # process
img.draw_rectangle(blob.rect) # annotate
# img is shown automatically in the IDE preview and on any
# attached display.
Indeksiranje, duljina, iteracija i pristup nalik bajtovima¶
Indeksiranje –
img[i]čita pikseli(linearno, po recima).img[i] = valuega zapisuje. Pikseli za sive tonove / Bayer su 8-bitni cijeli brojevi, RGB565 / YUV422 pikseli su 16-bitni pakirani cijeli brojevi, a binarni pikseli su 0 / 1. Za JPEG / PNG slike indeksni je prostor komprimirani niz bajtova, a ne pikseli.Duljina –
len(img)vraća broj piksela za nekomprimirane formate ili broj bajtova za komprimirane formate.Iteracija –
for px in img: ...prolazi kroz polje piksela istim redoslijedom kao i indeksiranje[].Nalik bajtovima –
Imageizlaže protokol međuspremnika za čitanje, pa ga možete izravno proslijediti svemu što primabytes/bytearray(npr.uart.write(img),socket.send(img),hashlib.sha256(img)). Umjesto toga koristitebytearray()da biste dobili prikaz za čitanje/pisanje.
Zastavice za savjete (hint)¶
Mnoge metode Image prihvaćaju argument hint koji je logički OR sljedećih zastavica:
image.AREA: Koristi skaliranje po površini pri smanjivanju umjesto zadanog najbližeg susjeda.
image.BILINEAR: Koristi bilinearno skaliranje umjesto zadanog skaliranja najbližeg susjeda.
image.BICUBIC: Koristi bikubično skaliranje umjesto zadanog skaliranja najbližeg susjeda.
image.CENTER: Centrira sliku koja se crta na zaslonu. Primjenjuje se nakon skaliranja.
image.HMIRROR: Vodoravno zrcali sliku.
image.VFLIP: Okomito preokreće sliku.
image.TRANSPOSE: Transponira sliku (zamjenjuje x/y).
image.EXTRACT_RGB_CHANNEL_FIRST: Izvršava izdvajanje rgb_channel prije skaliranja.
image.APPLY_COLOR_PALETTE_FIRST: Primjenjuje paletu boja prije skaliranja.
image.SCALE_ASPECT_KEEP: Skalira sliku koja se crta tako da stane unutar zaslona.
image.SCALE_ASPECT_EXPAND: Skalira sliku koja se crta tako da ispuni zaslon (rezultira obrezivanjem)
image.SCALE_ASPECT_IGNORE: Skalira sliku koja se crta tako da ispuni zaslon (rezultira rastezanjem).
image.ROTATE_90: Zakreće sliku za 90 stupnjeva (to je samo VFLIP | TRANSPOSE).
image.ROTATE_180: Zakreće sliku za 180 stupnjeva (to je samo HMIRROR | VFLIP).
image.ROTATE_270: Zakreće sliku za 270 stupnjeva (to je samo HMIRROR | TRANSPOSE).
image.BLACK_BACKGROUND: Pretpostavlja da je pozadinska slika na koju se crta crna, ubrzavajući stapanje. Podržano samo metodamaImage.draw_image()iImage.get_similarity().
- class image.Image(arg: str | int | ndarray, height: int = -1, pixformat: int = -1, *, buffer: bytes | bytearray | memoryview | None = None, copy_to_fb: bool = False)¶
Ako je
argniz, tada se stvara novi objekt slike iz datoteke na putanjiarg. Podržava učitavanje bmp/pgm/ppm/jpg/jpeg/png slikovnih datoteka s diska. Ako jecopy_to_fbistinit, slika se kopira u međuspremnik slike umjesto da se dodjeljuje na gomili (heap).Ako je
argtipandarray, tada se stvara novi objekt slike izndarray. Objektindarrayoblika(w, h)tretiraju se kao slike u sivim tonovima, a(w, h, 3)kao RGB565 slike. Trenutno su podržani samondarrayss pomičnim zarezom float32. Pri ovakvom stvaranju slike, ako proslijedite argumentbuffer, on će se koristiti za pohranu podataka slike umjesto dodjeljivanja prostora na gomili. Ako jecopy_to_fbistinit, slika se kopira u međuspremnik slike umjesto da se dodjeljuje na gomili ili koristibuffer.Ako je
argtipaint, tada se smatra širinom nove slike, a moraju uslijediti vrijednostheighti vrijednostformatza stvaranje novog praznog objekta slike.formatmože biti bilo koja vrijednost pixformata slike poputimage.GRAYSCALE. Slika će se inicijalizirati na sve nule. Imajte na umu da se za komprimirane formate slike očekuje vrijednostbuffer.bufferse na ovaj način smatra izvorom podataka slike za stvaranje slika. Ako se koristi scopy_to_fb, podaci izbufferkopiraju se u međuspremnik slike. Ako želite stvoriti JPEG sliku iz JPEGbytes()ilibytearray()objekta, možete proslijeditiwidth,height,image.JPEGza JPEG zajedno s postavljanjembufferna JPEG niz bajtova kako biste stvorili JPEG sliku.Slike podržavaju zapis „[]”. Učinite
image[index] = 8/16-bit valueza dodjeljivanje piksela slike iliimage[index]za dobivanje piksela slike koji će biti ili 8-bitna vrijednost za slike u sivim tonovima/bayer ili 16-bitna vrijednost za RGB565/YUV slike. Binarne slike vraćaju 1-bitnu vrijednost.Za JPEG slike „[]” vam omogućuje pristup komprimiranom blobu JPEG slike kao polju bajtova. Čitanje i pisanje u polje podataka, međutim, neprozirno je jer su JPEG slike komprimirani nizovi bajtova.
Slike također podržavaju operacije čitanja međuspremnika. Slike možete proslijediti svim mogućim MicroPython funkcijama kao da je slika objekt tipa polje bajtova. Konkretno, ako želite prenijeti sliku, možete je jednostavno proslijediti UART/SPI/I2C funkcijama za pisanje kako bi se automatski prenijela.
Osnovne metode¶
- format() int¶
Vraća
image.GRAYSCALEza slike u sivim tonovima,image.RGB565za RGB565 slike,image.BAYERza slike s Bayerovim uzorkom iimage.JPEGza JPEG slike.
- bytearray() bytearray¶
Vraća objekt
bytearraykoji pokazuje na podatke slike za pristup čitanju/pisanju na razini bajtova.Napomena
Objekti slike automatski se pretvaraju u objekte
byteskada se proslijede MicroPython upravljačkom programu koji zahtijeva objekt nalikbytes. Ovo je pristup samo za čitanje. Pozovitebytearray()za pristup čitanju/pisanju.
- get_pixel(x: int, y: int, rgbtuple: bool | None = None) int | Tuple[int, int, int]¶
Za slike u sivim tonovima: Vraća vrijednost piksela u sivim tonovima na lokaciji (x, y). Za RGB565 slike: Vraća torku RGB888 piksela (r, g, b) na lokaciji (x, y). Za slike s Bayerovim uzorkom: Vraća vrijednost piksela na lokaciji (x, y).
Vraća None ako su
xiliyizvan slike.xiymogu se proslijediti zasebno ili kao torka.rgbtupleako je True uzrokuje da ova metoda vrati torku RGB888. U protivnom ova metoda vraća cjelobrojnu vrijednost temeljnog piksela. Tj. za RGB565 slike ova metoda vraća RGB565 vrijednost. Zadano je True za RGB565 slike, a inače False.Nije podržano na komprimiranim slikama.
Napomena
Image.get_pixel()iImage.set_pixel()jedine su metode koje vam omogućuju manipulaciju slikama s Bayerovim uzorkom. Slike s Bayerovim uzorkom doslovne su slike u kojima su pikseli R/G/R/G/itd. za parne retke i G/B/G/B/itd. za neparne retke. Svaki je piksel 8-bitni. Ako pozovete ovu metodu s postavljenimrgbtuple, tada ćeImage.get_pixel()izvršiti debayering izvorne slike na toj lokaciji piksela i vratiti valjanu RGB888 torku za tu lokaciju piksela.
- set_pixel(x: int, y: int, pixel: int | Tuple[int, int, int]) Image¶
Za slike u sivim tonovima: Postavlja piksel na lokaciji (x, y) na vrijednost
pixelu sivim tonovima. Za RGB565 slike: Postavlja piksel na lokaciji (x, y) na RGB888 torku (r, g, b)pixel. Za slike s Bayerovim uzorkom: Postavlja vrijednost piksela na lokaciji (x, y) na vrijednostpixel.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..xiymogu se proslijediti zasebno ili kao torka.pixelmože biti ili RGB888 torka (r, g, b) ili temeljna vrijednost piksela (tj. RGB565 vrijednost za RGB565 slike ili 8-bitna vrijednost za slike u sivim tonovima.Nije podržano na komprimiranim slikama.
Napomena
Image.get_pixel()iImage.set_pixel()jedine su metode koje vam omogućuju manipulaciju slikama s Bayerovim uzorkom. Slike s Bayerovim uzorkom doslovne su slike u kojima su pikseli R/G/R/G/itd. za parne retke i G/B/G/B/itd. za neparne retke. Svaki je piksel 8-bitni. Ako pozovete ovu metodu s RGB888 torkom, vrijednost te RGB888 torke u sivim tonovima izdvaja se i postavlja na lokaciju piksela.
Metode pretvorbe¶
- to_ndarray(dtype: str, buffer: bytes | bytearray | memoryview | None = None) ndarray¶
Vraća objekt
ndarraystvoren iz slike. Ovo trenutno radi samo za GRAYSCALE ili RGB565 slike.dtypemože bitib,Bilifza stvaranjendarrays predznakom od 8 bitova, bez predznaka od 8 bitova ili 32-bitnog s pomičnim zarezom. GRAYSCALE slike izravno se pretvaraju u objektendarraybez predznaka od 8 bitova. Za objektendarrays predznakom od 8 bitova vrijednosti (0:255) preslikavaju se u (-127:128). Za 32-bitne float objektendarrayvrijednosti se preslikavaju u (0.0:255.0). RGB565 slike pretvaraju se u tro-kanalne objektendarrayi isti se postupak opisan gore za GRAYSCALE slike primjenjuje na svaki kanal ovisno odtype. Imajte na umu dadtypetakođer prihvaća cjelobrojne vrijednosti (npr.ord()) zab,Bodnosnof.bufferako nijeNonejest objektbytearraykoji se koristi kao međuspremnik zandarray. Ako jeNone, novi međuspremnik dodjeljuje se na gomili za pohranu podataka slikendarray. Možete koristiti argumentbufferza izravno dodjeljivanjendarrayu unaprijed dodijeljeni međuspremnik, čime štedite dodjelu na gomili i operaciju kopiranja.Vraćeni
ndarrayima oblik(height, width)za GRAYSCALE slike i(height, width, 3)za RGB565 slike.
- to_bitmap(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u bitmap sliku (1 bit po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Napomena
Bitmap slike su poput slika u sivim tonovima sa samo dvije vrijednosti piksela - 0 i 1. Dodatno, bitmap slike pakirane su tako da pohranjuju samo 1 bit po pikselu, što ih čini vrlo malima. OpenMV biblioteka slika dopušta korištenje bitmap slika na svim mjestima gdje se mogu koristiti
sensor.GRAYSCALEisensor.RGB565slike. Međutim, mnoge operacije primijenjene na bitmap slike nemaju smisla jer bitmap slike imaju samo 2 vrijednosti. OpenMV preporučuje korištenje bitmap slika za vrijednostimasku operacijama i sličnima jer prilično lako stanu na MicroPython gomilu. Naposljetku, vrijednosti piksela bitmap slike 0 i 1 tumače se kao crna i bijela kada se primjenjuju nasensor.GRAYSCALEilisensor.RGB565slike. Biblioteka automatski obrađuje pretvorbu.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_grayscale(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u sliku u sivim tonovima (8 bitova po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_rgb565(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u RGB565 sliku (16 bitova po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_rainbow(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image = PALETTE_RAINBOW, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u RGB565 sliku duginih boja (16 bitova po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_ironbow(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image = PALETTE_IRONBOW, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u RGB565 ironbow sliku (16 bitova po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_depth(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image = PALETTE_IRONBOW, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u RGB565 sliku dubine (16 bitova po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože bitiimage.PALETTE_DEPTHili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_evt_dark(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image = PALETTE_IRONBOW, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u RGB565 sliku tamnih događaja (16 bitova po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_evt_light(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image = PALETTE_IRONBOW, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u RGB565 sliku svijetlih događaja (16 bitova po pikselu).
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_jpeg(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False, quality: int = 90, subsampling: int = 0) Image¶
Pretvara sliku u JPEG sliku.
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.qualitykontrolira kvalitetu kompresije jpeg slike. Vrijednost može biti između 0 i 100.subsamplingmože biti:image.JPEG_SUBSAMPLING_AUTO: Koristi najbolje poduzorkovanje za sliku na temelju kvalitete.image.JPEG_SUBSAMPLING_444: Koristi 4:4:4 poduzorkovanje.image.JPEG_SUBSAMPLING_422: Koristi 4:2:2 poduzorkovanje.image.JPEG_SUBSAMPLING_420: Koristi 4:2:0 poduzorkovanje.
Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- to_png(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Pretvara sliku u PNG sliku.
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- compress(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False, quality: int = 90, subsampling: int = 0) Image¶
Pretvara sliku u JPEG sliku.
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.qualitykontrolira kvalitetu kompresije jpeg slike. Vrijednost može biti između 0 i 100.subsamplingmože biti:image.JPEG_SUBSAMPLING_AUTO: Koristi najbolje poduzorkovanje za sliku na temelju kvalitete.image.JPEG_SUBSAMPLING_444: Koristi 4:4:4 poduzorkovanje.image.JPEG_SUBSAMPLING_422: Koristi 4:2:2 poduzorkovanje.image.JPEG_SUBSAMPLING_420: Koristi 4:2:0 poduzorkovanje.
Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Napomena
Image.compressje alias zaImage.to_jpeg.
- copy(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy_to_fb: bool = False) Image¶
Stvara duboku kopiju objekta slike.
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- crop(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Mijenja sliku na mjestu bez promjene temeljnog tipa slike.
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- scale(x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, copy: bool = False, copy_to_fb: bool = False) Image¶
Mijenja sliku na mjestu bez promjene temeljnog tipa slike.
x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (isključujućiimage.BLACK_BACKGROUNDkoji ovdje nije podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.copyako je True stvara duboku kopiju na gomili pretvorene slike umjesto pretvaranja izvorne slike na mjestu.copy_to_fbako je True, slika se učitava izravno u međuspremnik slike.copy_to_fbima prednost predcopy. Ovo nema poseban učinak ako je slika već u međuspremniku slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Napomena
Image.scaleje alias zaImage.crop.
- save(path: str, roi: Tuple[int, int, int, int] | None = None, quality: int = 50) Image¶
Sprema kopiju slike u datotečni sustav na
path.Podržava bmp/pgm/ppm/jpg/jpeg slikovne datoteke. Imajte na umu da ne možete spremiti jpeg komprimirane slike u nekomprimirani format.
roije pravokutnik područja interesa (x, y, w, h) iz kojeg se sprema. Ako nije naveden, jednak je pravokutniku slike koji kopira cijelu sliku. Ovaj argument nije primjenjiv za JPEG slike.qualityje kvaliteta jpeg kompresije koja se koristi za spremanje slike u jpeg format ako slika već nije komprimirana (0-100) (int).Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
Metode crtanja¶
- clear(mask: Image | None = None) Image¶
Postavlja sve piksele u slici na nulu (vrlo brzo).
maskje druga slika koja se koristi kao maska na razini piksela za operaciju. Maska bi trebala biti slika sa samo crnim ili bijelim pikselima i trebala bi biti iste veličine kao slika nad kojom se operacija izvodi. Mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama.
- draw_line(x0: int, y0: int, x1: int, y1: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1) Image¶
Crta liniju od (x0, y0) do (x1, y1) na slici. Možete proslijediti x0, y0, x1, y1 zasebno ili kao torku (x0, y0, x1, y1).
colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.thicknesskontrolira koliko je linija debela u pikselima.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_rectangle(x: int, y: int, w: int, h: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1, fill: bool = False) Image¶
Crta pravokutnik na slici. Možete proslijediti x, y, w, h zasebno ili kao torku (x, y, w, h).
colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.thicknesskontrolira koliko su linije debele u pikselima.Proslijedite
fillpostavljen na True za ispunjavanje pravokutnika.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_circle(x: int, y: int, radius: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1, fill: bool = False) Image¶
Crta krug na slici. Možete proslijediti x, y, radius zasebno ili kao torku (x, y, radius).
colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.thicknesskontrolira koliko su rubovi debeli u pikselima.Proslijedite
fillpostavljen na True za ispunjavanje kruga.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_ellipse(cx: int, cy: int, rx: int, ry: int, rotation: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1, fill: bool = False) Image¶
Crta elipsu na slici. Možete proslijediti cx, cy, rx, ry i rotaciju (u stupnjevima) zasebno ili kao torku (cx, yc, rx, ry, rotation).
colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.thicknesskontrolira koliko su rubovi debeli u pikselima.Proslijedite
fillpostavljen na True za ispunjavanje elipse.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_string(x: int, y: int, text: str, color: int | Tuple[int, int, int] | None = None, scale: float = 1, x_spacing: int = 0, y_spacing: int = 0, mono_space: bool = True, char_rotation: int = 0, char_hmirror: bool = False, char_vflip: bool = False, string_rotation: int = 0, string_hmirror: bool = False, string_vflip: bool = False) Image¶
Crta tekst 8x10 počevši od lokacije (x, y) na slici. Možete proslijediti x, y zasebno ili kao torku (x, y).
textje niz koji se zapisuje na sliku. Završetci redaka\n,\ri\r\npomiču kursor u sljedeći redak.colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.scalese može povećati za povećanje/smanjenje veličine teksta na slici. Možete proslijediti cjelobrojne ili vrijednosti s pomičnim zarezom veće od 0.x_spacingvam omogućuje dodavanje (ako je pozitivno) ili oduzimanje (ako je negativno) x piksela između znakova.y_spacingvam omogućuje dodavanje (ako je pozitivno) ili oduzimanje (ako je negativno) y piksela između znakova (za tekst u više redaka).mono_spacezadano je True što prisiljava tekst na fiksni razmak. Za velike razmjere teksta to izgleda grozno. Postavite na False da biste dobili razmak znakova bez fiksne širine koji izgleda PUNO bolje.char_rotationmože biti 0, 90, 180, 270 za rotaciju svakog znaka u nizu za tu vrijednost.char_hmirrorako je True vodoravno zrcali sve znakove u nizu.char_vflipako je True okomito preokreće sve znakove u nizu.string_rotationmože biti 0, 90, 180, 270 za rotaciju niza za tu vrijednost.string_hmirrorako je True vodoravno zrcali niz.string_vflipako je True okomito preokreće niz.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_cross(x: int, y: int, color: int | Tuple[int, int, int] | None = None, size: int = 5, thickness: int = 1) Image¶
Crta križić na lokaciji x, y. Možete proslijediti x, y zasebno ili kao torku (x, y).
colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.sizekontrolira koliko se daleko protežu linije križića.thicknesskontrolira koliko su rubovi debeli u pikselima.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_arrow(x0: int, y0: int, x1: int, y1: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1) Image¶
Crta strelicu od (x0, y0) do (x1, y1) na slici. Možete proslijediti x0, y0, x1, y1 zasebno ili kao torku (x0, y0, x1, y1).
colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.thicknesskontrolira koliko je linija debela u pikselima.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_detection(detection: Tuple[int, int, int, int, int, int], color1: int | Tuple[int, int, int] | None = None, color2: int | Tuple[int, int, int] | None = None, size: int = 5, thickness: int = 1, fill: bool = False, label: str | None = None, label_offset: Tuple[int, int] | None = None) Image¶
Crta rezultat detekcije na slici.
detectionje torka od 6 elemenata(rx, ry, rw, rh, cx, cy)koja opisuje granični pravokutnik i centroid (obično vraćeno kodom neuronske mreže ili praćenja boje).color1je boja pravokutnika, acolor2je boja križića centroida.sizeje veličina križića centroida,thicknesskontrolira širinu obruba, afillispunjava pravokutnik.labelako je proslijeđena crta se blizu pravokutnika, pomaknuta zalabel_offset(x, y).Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_edges(corners: List[Tuple[int, int]], color: int | Tuple[int, int, int] | None = None, size: int = 0, thickness: int = 1, fill: bool = False) Image¶
Crta rubne linije između popisa kutova koji vraćaju metode poput
blob.corners. Corners je torka od četiri vrijednosti koje su torke x/y od dvije vrijednosti. Npr. [(x1,y1),(x2,y2),(x3,y3),(x4,y4)].colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.sizeako je veći od 0 uzrokuje da se kutovi crtaju kao krugovi polumjerasize.thicknesskontrolira koliko je linija debela u pikselima.Proslijedite
fillpostavljen na True za ispunjavanje krugova kutova ako se crtaju.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- draw_image(image: Image, x: int = 0, y: int = 0, x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, mask: Image | None = None) Image¶
Crta
imagečiji gornji lijevi kut započinje na lokaciji x, y. Možete proslijediti x, y zasebno ili kao torku (x, y). Ova metoda automatski obrađuje renderiranje proslijeđene slike u ispravan format piksela za odredišnu sliku, istovremeno besprijekorno obrađujući obrezivanje.Možete također proslijediti putanju umjesto objekta slike da bi ova metoda automatski učitala sliku s diska i upotrijebila je u jednom koraku. Npr.
draw_image("test.jpg").x_scalekontrolira koliko se prikazana slika skalira u smjeru x (float). Ako je ova vrijednost negativna, slika će se vodoravno preokrenuti. Imajte na umu da akoy_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.y_scalekontrolira koliko se prikazana slika skalira u smjeru y (float). Ako je ova vrijednost negativna, slika će se okomito preokrenuti. Imajte na umu da akox_scalenije naveden, on će se podudarati sx_scalekako bi se zadržao omjer stranica.roije torka pravokutnika područja interesa (x, y, w, h) izvorne slike za crtanje. To vam omogućuje izdvajanje samo piksela unutar ROI-ja za skaliranje i crtanje na odredišnoj slici.rgb_channelje RGB kanal (0=R, G=1, B=2) koji se izdvaja iz RGB565 slike (ako je proslijeđena) i renderira na odredišnoj slici. Na primjer, ako proslijeditergb_channel=1, ovo će izdvojiti zeleni kanal izvorne RGB565 slike i nacrtati ga u sivim tonovima na odredišnoj slici.alphakontrolira koliko se izvorne slike stapa u odredišnu sliku. Vrijednost 255 crta neprozirnu izvornu sliku, dok vrijednost niža od 255 daje stapanje između izvorne i odredišne slike. 0 rezultira nikakvom izmjenom odredišne slike.color_paletteako nijeNonemože biti enum palete boja ili RGB565 slika od ukupno 256 piksela koja se koristi kao tablica za pretraživanje boja na vrijednosti u sivim tonovima bilo koje izvorne slike. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.alpha_paletteako nijeNonemože biti GRAYSCALE slika od ukupno 256 piksela koja se koristi kao alfa paleta koja modulira vrijednostalphaizvorne slike koja se crta na razini pojedinog piksela, omogućujući vam preciznu kontrolu alfa vrijednosti piksela na temelju njihove vrijednosti u sivim tonovima. Vrijednost piksela 255 u alfa tablici za pretraživanje neprozirna je, dok sve manje od 255 postaje sve prozirnije do 0. Primjenjuje se nakon izdvajanjargb_channelako se ono koristi.hintje logički OR zastavica navedenih u Zastavice za savjete (uključujućiimage.BLACK_BACKGROUNDkoji je ovdje podržan).transformjendarray3x3 koji se koristi za izvođenje perspektivne transformacije na slici. Trenutno podržano samo na OpenMV Cam N6 jer ima GPU koji to može učiniti hardverski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..
- draw_keypoints(keypoints: kp_desc | List[Tuple[int, int, int]], color: int | Tuple[int, int, int] | None = None, size: int = 10, thickness: int = 1, fill: bool = False) Image¶
Crta ključne točke objekta ključnih točaka na slici. Možete također proslijediti popis torki od tri vrijednosti koje sadrže (x, y, kut_rotacije_u_stupnjevima) za ponovnu upotrebu ove metode za crtanje glifova ključnih točaka koji su krug s linijom usmjerenom u određenom smjeru.
colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.sizekontrolira koliko su velike ključne točke.thicknesskontrolira koliko je linija debela u pikselima.Proslijedite
fillpostavljen na True za ispunjavanje ključnih točaka.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- flood_fill(x: int, y: int, seed_threshold: float = 0.05, floating_threshold: float = 0.05, color: int | Tuple[int, int, int] | None = None, invert: bool = False, clear_background: bool = False, mask: Image | None = None) Image¶
Ispunjava regiju slike poplavom (flood fill) počevši od lokacije x, y. Možete proslijediti x, y zasebno ili kao torku (x, y).
seed_thresholdkontrolira koliko se bilo koji piksel u području ispune može razlikovati od izvornog početnog piksela.floating_thresholdkontrolira koliko se bilo koji piksel u području ispune može razlikovati od bilo kojeg susjednog piksela.colorje RGB888 torka za slike u sivim tonovima ili RGB565 slike. Zadano je bijela. Međutim, možete također proslijediti temeljnu vrijednost piksela (0-255) za slike u sivim tonovima ili RGB565 vrijednost za RGB565 slike.Proslijedite
invertkao True za ponovno bojenje svega izvan povezanog područja ispune poplavom.Proslijedite
clear_backgroundkao True za postavljanje na nulu ostalih piksela koje ispuna poplavom nije ponovno obojila.maskje druga slika koja se koristi kao maska na razini piksela za operaciju. Maska bi trebala biti slika sa samo crnim ili bijelim pikselima i trebala bi biti iste veličine kao slika nad kojom se operacija izvodi. Pri ispunjavanju poplavom procjenjuju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
Ova metoda nije dostupna na OpenMV Cam M4.
- draw_event_histogram(array: ndarray, clear: bool = True, brightness: int = 128, contrast: int = 16) Image¶
Rasterizira ndarray događaja (kako ga puni
csi.IOCTL_GENX320_READ_EVENTS) naImageradi vizualizacije. Međuspremnik slike mora biti GRAYSCALE slika 320x320.Za svaki redak
csi.PIX_ON_EVENTpikselu događaja dodaje se+contrast; za svaki redakcsi.PIX_OFF_EVENTpikselu se dodaje-contrast. Događaji okidača (trigger) ignoriraju se. Vrijednosti piksela ograničene su na 0-255.clearako je True resetira međuspremnik slike nabrightnessprije crtanja — svaka sličica postaje svjež prikaz samo događaja. Postavite na False za akumuliranje događaja kroz više poziva (korisno za tragove kretanja s dugom ekspozicijom).brightnesskontrolira osnovnu srednje sivu vrijednost na koju se međuspremnik resetira kada jeclearTrue. Zadana vrijednost 128 stavlja ON događaje na svijetli kraj, a OFF događaje na tamni kraj s jednakim slobodnim prostorom.contrastkontrolira koliko svaki događaj pomiče svoj piksel — veće vrijednosti čine da događaji iskaču, po cijenu brzog zasićenja kada mnogi događaji slete na isti piksel.
Metode maskiranja¶
- mask_rectangle(x: int, y: int, w: int, h: int) Image¶
Postavlja na nulu pravokutni dio slike. Ako nisu navedeni argumenti, ova metoda postavlja na nulu središte slike.
Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- mask_circle(x: int, y: int, radius: int) Image¶
Postavlja na nulu kružni dio slike. Ako nisu navedeni argumenti, ova metoda postavlja na nulu središte slike.
Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- mask_ellipse(x: int, y: int, radius_x: int, radius_y: int, rotation_angle_in_degrees: int) Image¶
Postavlja na nulu dio slike u obliku elipse. Ako nisu navedeni argumenti, ova metoda postavlja na nulu središte slike.
Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
Binarne metode¶
- binary(thresholds: List[Tuple[int, int]], invert: bool = False, zero: bool = False, mask: Image | None = None, to_bitmap: bool = False, copy: bool = False) Image¶
Postavlja sve piksele u slici na crno ili bijelo ovisno o tome je li svaki piksel unutar jedne od torki praga u
thresholds.thresholdsje popis torki(lo, hi)za slike u sivim tonovima ili torki(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)za RGB565 slike. Zamijenjene min/max vrijednosti automatski se ispravljaju; komponente koje nedostaju zadano poprimaju maksimalni raspon.invertinvertira podudaranje praga.zeroako je True, postavlja na nulu piksele koji prolaze prag, a ostale ostavlja netaknutima.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.to_bitmapako je True, pretvara podatke slike u bitmap od 1 bita po pikselu. Za vrlo male slike ovo može zahtijevaticopy=True.copyako je True, vraća novu sliku na gomili umjesto mijenjanja izvorne slike.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- invert() Image¶
Invertira sve vrijednosti piksela u slici (svaki piksel postaje
255 - pixelza 8-bitne kanale).Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- b_and(image: Image, mask: Image | None = None) Image¶
Logički izvodi AND ove slike s drugom slikom.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- b_nand(image: Image, mask: Image | None = None) Image¶
Logički izvodi NAND ove slike s drugom slikom.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- b_or(image: Image, mask: Image | None = None) Image¶
Logički izvodi OR ove slike s drugom slikom.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- b_nor(image: Image, mask: Image | None = None) Image¶
Logički izvodi NOR ove slike s drugom slikom.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- b_xor(image: Image, mask: Image | None = None) Image¶
Logički izvodi XOR ove slike s drugom slikom.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- b_xnor(image: Image, mask: Image | None = None) Image¶
Logički izvodi XNOR ove slike s drugom slikom.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
ISP metode¶
- awb(max: bool = False) Image¶
Izvodi automatsko balansiranje bijele boje na slici pomoću algoritma gray-world. Radi na RAW Bayer ili RGB565 slikama. Nema učinka na binarne slike/slike u sivim tonovima.
maxako je True, umjesto toga koristi algoritam white-patch.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim ili yuv slikama.
- ccm(matrix: List[List[float]]) Image¶
Množi proslijeđenu matricu korekcije boja s pomičnim zarezom sa slikom. Matrice mogu biti 3x3 ili 3x4 (sa stupcem pomaka), u obliku ugniježđenog popisa ili ravnog popisa:
[[rr, rg, rb], [gr, gg, gb], [br, bg, bb]] [[rr, rg, rb, ro], [gr, gg, gb, go], [br, bg, bb, bo]] [rr, rg, rb, ro, gr, gg, gb, go, br, bg, bb, bo]
Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- gamma(gamma: float = 1.0, contrast: float = 1.0, brightness: float = 0.0) Image¶
Podešava gamu, kontrast i svjetlinu slike.
gammaprimjenjujepow(pixel, 1/gamma)nakon normalizacije. Vrijednosti veće od 1.0 posvjetljuju; manje od 1.0 zatamnjuju.contrastprimjenjujepixel * contrastnakon normalizacije.brightnessprimjenjujepixel + brightnessnakon normalizacije.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim ili bayer/yuv slikama.
Matematičke metode¶
- negate() Image¶
Alias za
Image.invert.
- replace(image: Image | None = None, **kwargs) Image¶
Alias za
Image.draw_image(). Zamjenjuje ovu sliku simage(ili transformira ovu sliku na mjestu ako jeimageizostavljen) koristeći standardne ključne argumentedraw_image. Argumenttransformjendarray3x3 koji opisuje perspektivnu transformaciju (podržano samo na OpenMV kamerama s omogućenim ULAB).
- assign(image: Image | None = None, **kwargs) Image¶
Alias za
Image.replace().
- set(image: Image | None = None, **kwargs) Image¶
Alias za
Image.replace().
- add(image: Image, mask: Image | None = None) Image¶
Dodaje sliku ovoj slici piksel po piksel.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- sub(image: Image, mask: Image | None = None) Image¶
Oduzima
imageod ove slike piksel po piksel (self - image).imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Ova metoda također prihvaća puni skup ključnih argumenata
Image.draw_image()(x,y,x_scale,y_scale,roi,rgb_channel,alpha,color_palette,alpha_palette,hint,transform).Nije podržano na komprimiranim slikama ili bayer slikama.
- rsub(image: Image, mask: Image | None = None) Image¶
Obrnuto oduzimanje: zamjenjuje ovu sliku s
image - selfpiksel po piksel. Inače identičnoImage.sub().
- min(image: Image, mask: Image | None = None) Image¶
Vraća minimalnu sliku dviju slika piksel po piksel.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- max(image: Image, mask: Image | None = None) Image¶
Vraća maksimalnu sliku dviju slika piksel po piksel.
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- difference(image: Image, mask: Image | None = None) Image¶
Vraća sliku apsolutne razlike između dviju slika (npr. ||a-b||).
imagemože biti objekt slike, putanja do nekomprimirane slikovne datoteke (bmp/pgm/ppm) ili skalarna vrijednost (RGB888 torka ili temeljna vrijednost piksela).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- blend(image: Image, x: int = 0, y: int = 0, alpha: int = 128, mask: Image | None = None, **kwargs) Image¶
Alias za
Image.draw_image(). Alfa-stapaimageu ovu sliku.alphaje cijeli broj 0-256; vrijednosti bliže 256 favoriziraju izvornu sliku. Prihvaća sve ključne argumenteImage.draw_image().
- histeq(adaptive: bool = False, clip_limit: float = -1, mask: Image | None = None) Image¶
Izvodi izjednačavanje histograma na slici radi normalizacije kontrasta i svjetline.
adaptiveako je True, izvodi adaptivno izjednačavanje histograma (sporije, ali općenito bolje).clip_limitograničava kontrast u adaptivnoj varijanti (mala vrijednost poput 10 daje dobre CLAHE rezultate).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
Metode filtriranja¶
- erode(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Uklanja piksele s rubova segmentiranih područja. Konvoluira jezgru
((size*2)+1)x((size*2)+1)preko slike, brišući središnji piksel ako je više odthresholdsusjeda obrisano (djeluje kao standardna erozija ako jethresholdNone).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- dilate(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Dodaje piksele rubovima segmentiranih područja. Konvoluira jezgru
((size*2)+1)x((size*2)+1)preko slike, postavljajući središnji piksel ako je više odthresholdsusjeda postavljeno (djeluje kao standardna dilatacija ako jethresholdNone).maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- open(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Izvodi eroziju pa dilataciju. Vidi
Image.erode()iImage.dilate().maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- close(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Izvodi dilataciju pa eroziju. Vidi
Image.dilate()iImage.erode().maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- top_hat(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Vraća razliku slike i slike obrađene s
Image.open().maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- black_hat(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Vraća razliku slike i slike obrađene s
Image.close().maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- mean(size: int, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Standardni filtar zamućenja srednje vrijednosti pomoću box filtra.
sizeje veličina jezgre. Koristite 1 (jezgra 3x3), 2 (jezgra 5x5) itd.thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- median(size: int, percentile: float | None = 0.5, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Pokreće percentilni filtar na slici (medijan po zadanome).
sizeje veličina jezgre. Koristite 1 (jezgra 3x3), 2 (jezgra 5x5) itd.percentileje percentil koji se bira iz svake jezgre (0 = min, 0.5 = medijan, 1.0 = max). Zadano je 0.5.thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- mode(size: int, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Zamjenjuje svaki piksel modom njegovih susjeda. Može proizvesti artefakte na rubovima RGB slike zbog nelinearne operacije.
sizeje veličina jezgre. Koristite 1 (jezgra 3x3), 2 (jezgra 5x5) itd.thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- midpoint(size: int, bias: float | None = 0.5, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Pokreće filtar središnje točke na slici. Ovaj filtar pronalazi središnju točku ((max-min)/2) susjedstva svakog piksela u slici.
sizeje veličina jezgre. Koristite 1 (jezgra 3x3), 2 (jezgra 5x5) itd.biaskontrolira miješanje min/max. 0 za filtriranje samo minimuma, 1.0 za filtriranje samo maksimuma. Korištenjembiasmožete min/max filtrirati sliku.thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- morph(size: int, kernel: list, mul: float | None = 1.0, add: float | None = 0.0, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Konvoluira sliku s proizvoljnom jezgrom filtra.
sizekontrolira veličinu jezgre, koja mora imati((size*2)+1)x((size*2)+1)elemenata.kernelje jezgra s kojom se konvoluira, kao ravan 1D popis/torka od((size*2)+1)*((size*2)+1)elemenata ili kao 2D popis/torka s((size*2)+1)redaka od((size*2)+1)elemenata.mulje multiplikativni razmjer kontrasta (zadano 1.0).addje aditivni pomak svjetline (zadano 0.0).thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- gaussian(size: int, unsharp: bool | None = False, mul: float | None = 1.0, add: float | None = 0.0, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Konvoluira sliku s gaussovom jezgrom zaglađivanja.
sizeje veličina jezgre. Koristite 1 (jezgra 3x3), 2 (jezgra 5x5) itd.unsharpako je True, izvodi operaciju unsharp maske (izoštrava rubove) umjesto običnog gaussovog zamućenja.mulje multiplikativni razmjer kontrasta (zadano 1.0).addje aditivni pomak svjetline (zadano 0.0).thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- laplacian(size: int, sharpen: bool | None = False, mul: float | None = 1.0, add: float | None = 0.0, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Konvoluira sliku s laplaceovom jezgrom za detekciju rubova.
sizeje veličina jezgre. Koristite 1 (jezgra 3x3), 2 (jezgra 5x5) itd.sharpenako je True, izoštrava sliku umjesto izlaza sirovog odziva ruba bez postavljenog praga.mulje multiplikativni razmjer kontrasta (zadano 1.0).addje aditivni pomak svjetline (zadano 0.0).thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
- bilateral(size: int, color_sigma: float | None = 0.1, space_sigma: float | None = 1.0, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Konvoluira sliku s bilateralnim filtrom (zaglađivanje uz očuvanje rubova).
sizeje veličina jezgre. Koristite 1 (jezgra 3x3), 2 (jezgra 5x5) itd.color_sigmakontrolira toleranciju podudaranja boja; veće vrijednosti proizvode više zamućenja boje.space_sigmakontrolira prostorno zamućenje; veće vrijednosti proizvode više zamućenja piksela.thresholdako je True, adaptivno postavlja prag izlaza filtra na binarnu sliku.offsetpomiče binarizaciju (negativno čini više piksela bijelim, pozitivno čini manje).invertinvertira binarni izlaz.maskje binarna slika koja se koristi kao maska na razini piksela; mijenjaju se samo pikseli postavljeni u maski.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer/yuv slikama.
Geometrijske metode¶
- linpolar(reverse: bool = False, *, x: int | None = None, y: int | None = None) Image¶
Ponovno projicira sliku iz kartezijevih koordinata u linearne polarne koordinate.
Postavite
reverse=Trueza ponovnu projekciju u suprotnom smjeru.xiyodređuju koordinatu središta transformacije u pikselima slike. Ako jexjednakNone(zadano), postavlja se na polovicu širine slike; jednako takoyzadano poprima polovicu visine slike.Linearna polarna ponovna projekcija pretvara rotaciju slike u translaciju po x.
Nije podržano na komprimiranim slikama ili bayer slikama.
Ova metoda nije dostupna na OpenMV Cam M4.
- logpolar(reverse: bool = False, *, x: int | None = None, y: int | None = None) Image¶
Ponovno projicira sliku iz kartezijevih koordinata u logaritamske polarne koordinate.
Postavite
reverse=Trueza ponovnu projekciju u suprotnom smjeru.xiyodređuju koordinatu središta transformacije u pikselima slike. Ako jexjednakNone(zadano), postavlja se na polovicu širine slike; jednako takoyzadano poprima polovicu visine slike.Logaritamska polarna ponovna projekcija pretvara rotaciju slike u translaciju po x, a skaliranje/zumiranje u translaciju po y.
Nije podržano na komprimiranim slikama ili bayer slikama.
Ova metoda nije dostupna na OpenMV Cam M4.
- lens_corr(strength: float = 1.8, zoom: float = 1.0, x_corr: float = 0.0, y_corr: float = 0.0) Image¶
Izvodi korekciju leće za uklanjanje efekta ribljeg oka sa slike uzrokovanog izobličenjem leće.
strengthje float koji definira koliko ukloniti efekt ribljeg oka sa slike. Isprobajte zadano 1.8, a zatim povećavajte ili smanjujte odatle dok slika ne izgleda dobro.zoomje iznos zumiranja slike. Zadano 1.0.x_corrpomak piksela s pomičnim zarezom od središta. Može biti negativan ili pozitivan.y_corrpomak piksela s pomičnim zarezom od središta. Može biti negativan ili pozitivan.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
- rotation_corr(x_rotation: float = 0.0, y_rotation: float = 0.0, z_rotation: float = 0.0, x_translation: float = 0.0, y_translation: float = 0.0, zoom: float = 1.0, fov: float = 60.0, corners: List[Tuple[int, int]] | None = None) Image¶
Ispravlja probleme perspektive u slici izvođenjem 3D rotacije međuspremnika slike.
x_rotationje broj stupnjeva za rotaciju slike u međuspremniku slike oko x osi (tj. ovo zakreće sliku gore i dolje).y_rotationje broj stupnjeva za rotaciju slike u međuspremniku slike oko y osi (tj. ovo zakreće sliku lijevo i desno).z_rotationje broj stupnjeva za rotaciju slike u međuspremniku slike oko z osi (tj. ovo zakreće sliku na mjestu).x_translationje broj jedinica za pomicanje slike lijevo ili desno nakon rotacije. Budući da se ova translacija primjenjuje u 3D prostoru, jedinice nisu pikseli…y_translationje broj jedinica za pomicanje slike gore ili dolje nakon rotacije. Budući da se ova translacija primjenjuje u 3D prostoru, jedinice nisu pikseli…zoomje iznos zumiranja slike. Zadano 1.0.fovje vidno polje koje se koristi za internu 2D->3D projekciju. Kako sefovpribližava 0, slika se postavlja u beskonačnost; kako se približava 180, slika se postavlja unutar gledišta.cornersje popis od četiri torke (x, y) koje se koriste za izgradnju homografije od 4 točke koja preslikava kutove u (0, 0), (image_width-1, 0), (image_width-1, image_height-1) i (0, image_height-1) prije primjene 3D rotacije. Korisno za transformacije pogleda iz ptičje perspektive.Vraća objekt slike kako biste mogli pozvati drugu metodu pomoću zapisa
..Nije podržano na komprimiranim slikama ili bayer slikama.
Ova metoda nije dostupna na OpenMV Cam M4.
Get metode¶
- get_similarity(image: Image, x: int = 0, y: int = 0, x_scale: float = 1.0, y_scale: float = 1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: int | Image | None = None, alpha_palette: Image | None = None, hint: int = 0, transform: ndarray | None = None, dssim: bool = False) Similarity¶
Računa sličnost između dviju slika pomoću indeksa strukturalne sličnosti (SSIM). SSIM se kreće od -1 (suprotno) do 1 (identično). Vraća objekt
image.similarity.imageje slika za usporedbu (objekt slike ili niz s putanjom, npr."test.jpg").x,y,x_scale,y_scale,roi,rgb_channel,alpha,color_palette,alpha_palette,hintitransformprihvaćaju iste vrijednosti kaoImage.draw_image().dssimako je True, umjesto toga vraća indeks strukturalne nesličnosti (DSSIM), gdje 0 znači identično, a 1 znači potpuno različito.
- get_histogram(thresholds: List[Tuple[int, int]] | None = None, invert: bool = False, roi: Tuple[int, int, int, int] | None = None, bins: int = -1, l_bins: int = -1, a_bins: int = -1, b_bins: int = -1, difference: Image | None = None) histogram¶
Računa normalizirani histogram na svim kanalima boja za
roii vraća objektimage.histogram. Dostupno i kaoImage.get_hist()iliImage.histogram().thresholdsje popis torki(lo, hi)za slike u sivim tonovima ili torki(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)za RGB565 slike. Ako je proslijeđeno, histogram se računa samo nad pikselima unutar pragova.invertinvertira podudaranje praga.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.bins(sivi tonovi) ilil_bins/a_bins/b_bins(RGB565) postavljaju broj pretinaca histograma po kanalu. Mora biti veće od 2. Zadano je maksimalni broj pretinaca po kanalu.differencese može postaviti na objekt slike za rad na razlici između trenutne slike i te slike bez dodatnog međuspremnika.Nije podržano na komprimiranim slikama ili bayer slikama.
- get_statistics(thresholds: List[Tuple[int, int]] | None = None, invert: bool = False, roi: Tuple[int, int, int, int] | None = None, bins: int = -1, l_bins: int = -1, a_bins: int = -1, b_bins: int = -1, difference: Image | None = None) statistics¶
Računa srednju vrijednost, medijan, mod, standardnu devijaciju, min, max, donji kvartil i gornji kvartil za sve kanale boja za
roii vraća objektimage.statistics. Dostupno i kaoImage.get_stats()iliImage.statistics().thresholdsje popis torki(lo, hi)za slike u sivim tonovima ili torki(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)za RGB565 slike. Ako je proslijeđeno, statistika se računa samo nad pikselima unutar pragova.invertinvertira podudaranje praga.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.bins(sivi tonovi) ilil_bins/a_bins/b_bins(RGB565) postavljaju broj pretinaca histograma po kanalu. Mora biti veće od 2. Zadano je maksimalni broj pretinaca po kanalu.differencese može postaviti na objekt slike za rad na razlici između trenutne slike i te slike bez dodatnog međuspremnika.Nije podržano na komprimiranim slikama ili bayer slikama.
- get_regression(thresholds: List[Tuple[int, int]], invert: bool = False, roi: Tuple[int, int, int, int] | None = None, x_stride: int = 2, y_stride: int = 1, area_threshold: int = 10, pixels_threshold: int = 10, target_size: Tuple[int, int] = (80, 60)) line¶
Računa linearnu regresiju (Theil-Sen) na svim pikselima u slici koji prolaze prag. Vraća objekt
image.lineili None ako linija nije pronađena.thresholdsje popis torki(lo, hi)za slike u sivim tonovima ili torki(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)za RGB565 slike.invertinvertira podudaranje praga.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.x_strideiy_stridekontroliraju koliko se piksela preskače pri procjeni slike.area_thresholdminimalna površina graničnog okvira; manji rezultati vraćaju None.pixels_thresholdminimalni broj piksela koji prolaze prag; manji rezultati vraćaju None.target_sizeje torka(w, h). ROI se po površini smanjuje da stane unutar ove veličine prije pokretanja algoritma O(N^2). Zadano je(80, 60).Nije podržano na komprimiranim slikama ili bayer slikama.
Metode detekcije¶
- find_blobs(thresholds: List[Tuple[int, int]], invert: bool = False, roi: Tuple[int, int, int, int] | None = None, x_stride: int = 2, y_stride: int = 1, area_threshold: int = 10, pixels_threshold: int = 10, merge: bool = False, margin: int = 0, threshold_cb: Callable | None = None, merge_cb: Callable | None = None, x_hist_bins_max: int = 0, y_hist_bins_max: int = 0) List[blob]¶
Pronalazi sve mrlje (povezane regije piksela koje prolaze test praga) u slici i vraća popis objekata
image.blob.thresholdsje popis torki(lo, hi)za slike u sivim tonovima ili torki(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)za RGB565 slike (LAB kanali). Može se proslijediti do 32 torke. Zamijenjene min/max vrijednosti automatski se ispravljaju; komponente koje nedostaju zadano poprimaju maksimalni raspon.invertinvertira podudaranje praga.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.x_strideiy_stridekontroliraju koliko se piksela preskače pri traženju mrlje. Povećajte ako se zna da su mrlje velike.area_thresholdminimalna površina graničnog okvira; manje mrlje se filtriraju.pixels_thresholdminimalni broj piksela koji prolaze prag; manje mrlje se filtriraju.mergeako je True spaja mrlje čiji se granični pravokutnici sijeku.marginpovećava/smanjuje granične pravokutnike koji se koriste za presijecanje. Spojene mrlje izvode OR svojih bitnih vektoracode(jedan bit po pragu).threshold_cbse poziva za svaku mrlju nakon postavljanja praga; vratite True za zadržavanje, False za filtriranje.merge_cbse poziva za svaki par mrlja koje će se spojiti; vratite True za dopuštanje spajanja, False za sprječavanje.x_hist_bins_maxako nije nula, popunjava svaku mrlju projekcijom x_histogram s ovim brojem pretinaca.y_hist_bins_maxako nije nula, popunjava svaku mrlju projekcijom y_histogram s ovim brojem pretinaca.Nije podržano na komprimiranim slikama ili bayer slikama.
- find_lines(roi: Tuple[int, int, int, int] | None = None, x_stride: int = 2, y_stride: int = 1, threshold: int = 1000, theta_margin: int = 25, rho_margin: int = 25) List[line]¶
Pronalazi sve beskonačne linije u slici pomoću houghove transformacije. Vraća popis objekata
image.line.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.x_strideiy_stridekontroliraju koliko se piksela preskače tijekom houghove transformacije.thresholdminimalna magnituda linije (zbroj sobelovih magnituda duž linije); linije ispod toga se filtriraju.theta_marginirho_marginkontroliraju spajanje: linije unutar ovih pragova se spajaju.Nije podržano na komprimiranim slikama ili bayer slikama.
Ova metoda nije dostupna na OpenMV Cam M4.
- find_line_segments(roi: Tuple[int, int, int, int] | None = None, merge_distance: int = 0, max_theta_difference: int = 15) List[line]¶
Pronalazi segmente linija u slici. Vraća popis objekata
image.line.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.merge_distanceje maksimalna udaljenost u pikselima između dvaju segmenata da bi se spojili.max_theta_differenceje maksimalna razlika thete u stupnjevima između segmenata da bi se spojili.Ova metoda nije dostupna na OpenMV Cam M4.
- find_circles(roi: Tuple[int, int, int, int] | None = None, x_stride: int = 2, y_stride: int = 1, threshold: int = 2000, x_margin: int = 10, y_margin: int = 10, r_margin: int = 10, r_min: int = 2, r_max: int | None = None, r_step: int = 2) List[circle]¶
Pronalazi krugove u slici pomoću houghove transformacije. Vraća popis objekata
image.circle.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.x_strideiy_stridekontroliraju koliko se piksela preskače tijekom houghove transformacije.thresholdminimalna magnituda kruga (zbroj sobelovih magnituda duž kruga); krugovi ispod toga se filtriraju.x_margin,y_marginir_marginkontroliraju spajanje: krugovi unutar ovih pragova se spajaju.r_minminimalni polumjer kruga. Zadano je 2.r_maxmaksimalni polumjer kruga. Zadano jemin(roi.w/2, roi.h/2).r_stepveličina koraka polumjera. Zadano je 2.Ova metoda nije dostupna na OpenMV Cam M4.
- find_rects(roi: Tuple[int, int, int, int] | None = None, threshold: int = 1000) List[rect]¶
Pronalazi pravokutnike u slici pomoću apriltag algoritma za detekciju četverokuta. Vraća popis objekata
image.rect.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.thresholdminimalna magnituda ruba (zbroj sobelovih magnituda duž rubova pravokutnika); pravokutnici ispod toga se filtriraju.Ova metoda nije dostupna na OpenMV Cam M4.
- find_qrcodes(roi: Tuple[int, int, int, int] | None = None) List[qrcode]¶
Pronalazi sve qrcode unutar
roii vraća popis objekataimage.qrcode.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.Ova metoda nije dostupna na OpenMV Cam M4.
- find_apriltags(roi: Tuple[int, int, int, int] | None = None, families: int = TAG36H11, fx: float | None = None, fy: float | None = None, cx: float | None = None, cy: float | None = None) List[apriltag]¶
Pronalazi sve apriltagove unutar
roii vraća popis objekataimage.apriltag.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.familiesje bitmaska obitelji oznaka za dekodiranje. To je logički OR sljedećeg:Zadano je
image.TAG36H11. Vrijeme detekcije skalira se s brojem omogućenih obitelji.fxifysu žarišne duljine kamere po X i Y u pikselima.cxicysu središte slike, običnoimage.width()/2iimage.height()/2.Nije podržano na komprimiranim slikama.
Ova metoda nije dostupna na OpenMV Cam M4.
- find_datamatrices(roi: Tuple[int, int, int, int] | None = None, effort: int = 200) List[datamatrix]¶
Pronalazi sve datamatrice unutar
roii vraća popis objekataimage.datamatrix.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.effortkontrolira koliko vremena utrošiti na pokušaj pronalaženja podudaranja matrica podataka. Veće vrijednosti poboljšavaju detekciju po cijenu brzine sličica. Vrijednosti ispod ~160 ne uspijevaju detektirati; vrijednosti iznad ~240 daju sve manje koristi. Zadano je 200.Ova metoda nije dostupna na OpenMV Cam M4.
- find_barcodes(roi: Tuple[int, int, int, int] | None = None) List[barcode]¶
Pronalazi sve 1D barkodove unutar
roii vraća popis objekataimage.barcode. Skenira i vodoravno i okomito.Podržani tipovi barkodova:
image.EAN2,image.EAN5,image.EAN8,image.UPCE,image.ISBN10,image.UPCA,image.EAN13,image.ISBN13,image.I25,image.DATABAR(RSS-14),image.DATABAR_EXP(RSS-Expanded),image.CODABAR,image.CODE39,image.PDF417,image.CODE93,image.CODE128.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.Ova metoda nije dostupna na OpenMV Cam M4.
- find_displacement(template: Image, roi: Tuple[int, int, int, int] | None = None, template_roi: Tuple[int, int, int, int] | None = None, logpolar: bool = False, fix_rotation_scale: bool = False) displacement¶
Pronalazi pomak translacije ove slike od
templatepomoću fazne korelacije. Vraća objektimage.displacement.roije pravokutnik područja interesa (x, y, w, h). Zadano je pravokutnik slike.template_roije područje interesa predloška. Zadano je pravokutnik slike predloška.roiitemplate_roimoraju imati istu širinu i visinu.logpolarako je True vraća promjenu rotacije/razmjera umjesto translacije po x/y.fix_rotation_scaleako je True, računa pomak nakon poravnavanja rotacije i razmjera (ima smisla samo kada jelogpolar=False).Napomena
Koristite ovu metodu na veličinama slike koje su potencija broja 2 (npr.
sensor.B64X64).Nije podržano na komprimiranim slikama ili bayer slikama. Nije dostupno na OpenMV Cam M4.
- find_template(template: Image, threshold: float, roi: Tuple[int, int, int, int] | None = None, step: int = 2, search: int = SEARCH_EX) Tuple[int, int, int, int] | None¶
Pokušava pronaći prvu lokaciju u slici gdje se
templatepodudara pomoću normalizirane unakrsne korelacije. Vraća torku graničnog okvira (x, y, w, h) ili None.templateje slika u sivim tonovima za podudaranje s ovom slikom.thresholdje vrijednost (0.0-1.0). Veće vrijednosti smanjuju lažno pozitivne rezultate i detekcije; manje vrijednosti čine suprotno.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.stepje broj piksela koji se preskaču tijekom traženja (koristi se samo u načinuimage.SEARCH_EX).searchjeimage.SEARCH_DS(brže dijamantno pretraživanje) iliimage.SEARCH_EX(iscrpno pretraživanje).Radi samo na slikama u sivim tonovima.
- find_features(cascade: Cascade, threshold: float = 0.5, scale: float = 1.5, roi: Tuple[int, int, int, int] | None = None) List[Tuple[int, int, int, int]]¶
Pretražuje sliku za područjima koja se podudaraju s proslijeđenom Haar Cascade i vraća popis torki graničnih okvira (x, y, w, h). Vraća prazan popis ako značajke nisu pronađene.
cascadeje objekt Haar Cascade (vidiimage.HaarCascade()).threshold(0.0-1.0). Niže vrijednosti povećavaju stopu detekcije i stopu lažno pozitivnih rezultata.scalemora biti veći od 1.0. Veće vrijednosti rade brže, ali proizvode lošija podudaranja.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.
- find_eye(roi: Tuple[int, int, int, int]) Tuple[int, int]¶
Traži zjenicu u torki područja interesa (x, y, w, h) oko oka. Vraća (x, y) lokaciju zjenice ili (0, 0) ako nije pronađena.
roije torka pravokutnika područja interesa (x, y, w, h).Radi samo na slikama u sivim tonovima.
- find_lbp(roi: Tuple[int, int, int, int]) lbp_descriptor¶
Izdvaja LBP (local-binary-patterns) ključne točke iz područja interesa. Koristite
image.match_descriptor()za usporedbu dvaju deskriptora.roije torka pravokutnika područja interesa (x, y, w, h).Radi samo na slikama u sivim tonovima.
- find_keypoints(roi: Tuple[int, int, int, int] | None = None, threshold: int = 20, normalized: bool = False, scale_factor: float = 1.5, max_keypoints: int = 100, corner_detector: int = CORNER_AGAST) kp_descriptor | None¶
Izdvaja ORB ključne točke iz područja interesa. Koristite
image.match_descriptor()za usporedbu dvaju deskriptora. Vraća None ako ključne točke nisu pronađene.roije torka pravokutnika područja interesa (x, y, w, h). Zadano je pravokutnik slike.threshold(0-255) kontrolira broj izdvojenih kutova. Niži pragovi proizvode više kutova. Koristite ~20 za AGAST, ~60-80 za FAST.normalizedako je True, onemogućuje izdvajanje ključnih točaka u više razlučivosti.scale_factormora biti veći od 1.0. Veće vrijednosti rade brže, ali proizvode lošija podudaranja.max_keypointsje maksimalni broj ključnih točaka koje se zadržavaju.corner_detectorjeimage.CORNER_FASTiliimage.CORNER_AGAST.Radi samo na slikama u sivim tonovima.
- find_edges(edge_type: int, threshold: Tuple[int, int] = (100, 200)) Image¶
Pretvara sliku u crno-bijelu ostavljajući samo rubove kao bijele piksele.
image.EDGE_SIMPLE - Jednostavni algoritam visokopropusnog filtra s pragom.
image.EDGE_CANNY - Cannyjev algoritam za detekciju rubova.
thresholdje torka od dvije vrijednosti koja sadrži niski prag i visoki prag. Kvalitetu rubova možete kontrolirati podešavanjem ovih vrijednosti. Zadano je (100, 200).Radi samo na slikama u sivim tonovima.
- find_hog(roi: Tuple[int, int, int, int] | None = None, size: int = 8) Image¶
Zamjenjuje piksele u ROI-ju HOG (histogram of orientated gradients) linijama.
roije torka pravokutnika područja interesa (x, y, w, h). Ako nije naveden, jednak je pravokutniku slike. Operacija se izvodi samo nad pikselima unutarroi.Radi samo na slikama u sivim tonovima.
Ova metoda nije dostupna na OpenMV Cam M4.
- stereo_disparity(reversed: bool = False, max_disparity: int = 64, threshold: int = 64) Image¶
Uzima dvostruko široku sliku u sivim tonovima koja sadrži izlaz dvaju senzora kamere postavljenih jedan pored drugog i zamjenjuje jednu polovicu slikom stereo disparitet (svaki piksel predstavlja dubinu). Npr. za dvije kamere 320x240 proslijedite sliku 640x240.
reversedPo zadanome lijeva slika uspoređuje se s desnom i desna se slika zamjenjuje. Postavite na True za usporedbu desno->lijevo i zamjenu lijeve slike.max_disparityje maksimalna udaljenost (1-255) za traženje podudarnog bloka piksela pomoću zbroja apsolutnih razlika. Veće vrijednosti traju eksponencijalno dulje, ali proizvode izlaz veće kvalitete.thresholdako je zbroj apsolutnih razlika između dvaju blokova manji ili jednak ovom pragu, smatraju se podudarnima.
- selective_search(threshold: int = 500, size: int = 20, a1: float = 1.0, a2: float = 1.0, a3: float = 1.0) List[Tuple[int, int, int, int]]¶
Pokreće selektivno pretraživanje na slici i vraća popis torki graničnih okvira (x, y, w, h) prijedloga objekata.
thresholdje prag segmentacije; veće vrijednosti proizvode manje/veće regije.sizeje minimalna veličina regije nakon spajanja.a1,a2,a3su težine sličnosti boje/teksture/veličine koje se koriste pri spajanju regija.