class Image – Image-objekti¶
Image on image-moduulin keskeinen tietotyyppi – muistissa oleva pikselipuskuri, jota jokainen piirtorutiini, jokainen suodatin, jokainen geometrinen muunnos ja jokainen piirteenpoimintarutiini käsittelee. Jokainen kehys, joka tulee ulos csi.CSI.snapshot()-kutsusta, on Image; samoin jokainen levyltä ladattu, JPEG- tai PNG-muodosta dekoodattu, numpy-tyylisestä ndarray-objektista varattu tai tyhjäksi piirtokankaaksi luotu kehys.
Image-objektia kuvaa kolme lukua – width, height ja pixformat – sekä yhtenäinen pikselipuskuri. Pikseliformaatti määrää sekä muistissa olevan asettelun että sen, mitkä operaatiot ovat käytettävissä:
BINARY (1 bpp) – 1 bitti per pikseli; morfologian ja kynnystyksen käyttämä.
GRAYSCALE (8 bpp) – 1 tavu per pikseli; useimpien CV-toimintojen (AprilTag, reunat, ORB, optinen virtaus) vakioformaatti.
RGB565 (16 bpp) – 2 tavua per pikseli (5R/6G/5B); oletusvärimuoto.
BAYER (8 bpp) – raakaa Bayer-mosaiikkidataa suoraan sensorilta. Useimmat CV-metodit eivät ole käytettävissä Bayer-kuville; debayeroi ensin muotoon GRAYSCALE / RGB565.
YUV422 (16 bpp) – 4:2:2 krominanssialinäytteistetty väri, kaksi tavua per pikseli. Vain osa metodeista toimii suoraan YUV422-muodossa.
JPEG / PNG – pakatut puskurit. Pikselitason operaatiot vaativat ensin
to_grayscale()taito_rgb565().
Mistä Image-objektit tulevat¶
Image-objektin voi hankkia neljällä tavalla:
Kameran kehyspuskurista –
csi.CSI().snapshot()palauttaa seuraavan kaapatun kehyksen. Palautettu objekti on ohut kääre kameran kehyspuskurimuistin ympärillä, joten mikä tahansa piirto- tai suodatusoperaatio siihen muuttaa sitä, mitä lähetetään IDE:n esikatseluun ja näytölle.Tiedostosta – anna polkumerkkijono
Image-konstruktorille. BMP, PGM, PPM, JPEG ja PNG dekoodataan suoraan RAM-muistiin (tai kameran kehyspuskuriin, joscopy_to_fb=True).ndarray-objektista – anna
(h, w)- tai(h, w, 3)-muotoinen float32-taulukko. Pikselit skaalataan väliltä0.0 -- 255.0GRAYSCALE- tai RGB565-muotoon vastaavasti.Tyhjä – anna
(width, height, pixformat)varataksesi nollilla täytetyn piirtopinnan. Pakatuille pikseliformaateille (JPEG/PNG) vaaditaanbuffer=-argumentti, joka sisältää pakatun tavuvirran.
Tyypillinen kaappaus-käsittely-näyttö-silmukka¶
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.
Indeksointi, pituus, iterointi ja tavumainen käyttö¶
Indeksointi –
img[i]lukee pikselini(lineaarisesti, rivi kerrallaan).img[i] = valuekirjoittaa sen. Harmaasävy- / Bayer-pikselit ovat 8-bittisiä kokonaislukuja, RGB565- / YUV422-pikselit ovat 16-bittisiä pakattuja kokonaislukuja, binääripikselit ovat 0 / 1. JPEG- / PNG-kuville indeksiavaruus on pakattu tavuvirta, ei pikselit.Pituus –
len(img)palauttaa pikselien määrän pakkaamattomille formaateille tai tavumäärän pakatuille formaateille.Iterointi –
for px in img: ...käy pikselitaulukon läpi samassa järjestyksessä kuin[]-indeksointi.Tavumainen –
Imagetarjoaa lukupuskuriprotokollan, joten voit antaa sen suoraan mille tahansa, joka ottaa vastaanbytes/bytearray-objektin (esim.uart.write(img),socket.send(img),hashlib.sha256(img)). Käytäbytearray()sen sijaan saadaksesi luku-/kirjoitusnäkymän.
Vihjeliput¶
Monet Image-metodit ottavat vastaan hint-argumentin, joka on seuraavien lippujen looginen TAI:
image.AREA: Käytä aluepohjaista skaalausta pienennettäessä oletusarvoisen lähimmän naapurin sijaan.
image.BILINEAR: Käytä bilineaarista skaalausta oletusarvoisen lähimmän naapurin skaalauksen sijaan.
image.BICUBIC: Käytä bikuubista skaalausta oletusarvoisen lähimmän naapurin skaalauksen sijaan.
image.CENTER: Keskitä piirrettävä kuva näytöllä. Tämä sovelletaan skaalauksen jälkeen.
image.HMIRROR: Peilaa kuva vaakasuunnassa.
image.VFLIP: Käännä kuva pystysuunnassa.
image.TRANSPOSE: Transponoi kuva (vaihda x/y).
image.EXTRACT_RGB_CHANNEL_FIRST: Tee rgb_channel-poiminta ennen skaalausta.
image.APPLY_COLOR_PALETTE_FIRST: Sovella väripalettia ennen skaalausta.
image.SCALE_ASPECT_KEEP: Skaalaa piirrettävä kuva mahtumaan näytön sisään.
image.SCALE_ASPECT_EXPAND: Skaalaa piirrettävä kuva täyttämään näyttö (johtaa rajaukseen)
image.SCALE_ASPECT_IGNORE: Skaalaa piirrettävä kuva täyttämään näyttö (johtaa venytykseen).
image.ROTATE_90: Kierrä kuvaa 90 astetta (tämä on vain VFLIP | TRANSPOSE).
image.ROTATE_180: Kierrä kuvaa 180 astetta (tämä on vain HMIRROR | VFLIP).
image.ROTATE_270: Kierrä kuvaa 270 astetta (tämä on vain HMIRROR | TRANSPOSE).
image.BLACK_BACKGROUND: Oleta, että piirtopohjana oleva taustakuva on musta, mikä nopeuttaa sekoittamista. Tukevat vainImage.draw_image()jaImage.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)¶
Jos
argon merkkijono, tämä luo uuden kuvaobjektin tiedostosta polussaarg. Tukee bmp/pgm/ppm/jpg/jpeg/png-kuvatiedostojen lataamista levyltä. Joscopy_to_fbon tosi, kuva kopioidaan kehyspuskuriin sen sijaan, että se varattaisiin keosta.Jos
argonndarray, tämä luo uuden kuvaobjektinndarray-objektista.ndarray-objekteja, joiden muoto on(w, h), käsitellään harmaasävykuvina,(w, h, 3)-objekteja RGB565-kuvina. Vain float32-tyyppisiändarrays-objekteja tuetaan tällä hetkellä. Kun kuva luodaan tällä tavalla ja annatbuffer-argumentin, sitä käytetään kuvadatan tallentamiseen sen sijaan, että tilaa varattaisiin keosta. Joscopy_to_fbon tosi, kuva kopioidaan kehyspuskuriin sen sijaan, että se varattaisiin keosta tai käytettäisiinbuffer-puskuria.Jos
argonint, sitä pidetään uuden kuvan leveytenä, ja sen jälkeen on annettavaheight-arvo jaformat-arvo uuden tyhjän kuvaobjektin luomiseksi.formatvoi olla mikä tahansa kuvan pikseliformaatin arvo, kutenimage.GRAYSCALE. Kuva alustetaan kaikki nollat -arvoiseksi. Huomaa, että pakatuille kuvaformaateille odotetaanbuffer-arvoa.buffer-arvoa pidetään kuvadatan lähteenä kuvia tällä tavalla luotaessa. Jos sitä käytetääncopy_to_fb-argumentin kanssa,buffer-puskurin data kopioidaan kehyspuskuriin. Jos haluat luoda JPEG-kuvan JPEGbytes()- taibytearray()-objektista, voit antaawidth,height,image.JPEGJPEG-kuvalle sekä asettaabuffer-arvoksi JPEG-tavuvirran luodaksesi JPEG-kuvan.Kuvat tukevat ”[]”-notaatiota. Tee
image[index] = 8/16-bit valueasettaaksesi kuvapikselin taiimage[index]saadaksesi kuvapikselin, joka on joko 8-bittinen arvo harmaasävy-/Bayer-kuville tai 16-bittinen arvo RGB565-/YUV-kuville. Binäärikuvat palauttavat 1-bittisen arvon.JPEG-kuville ”[]” antaa sinun käyttää pakattua JPEG-kuvablobia tavutaulukkona. Datataulukon lukeminen ja kirjoittaminen on kuitenkin läpinäkymätöntä, koska JPEG-kuvat ovat pakattuja tavuvirtoja.
Kuvat tukevat myös lukupuskurioperaatioita. Voit antaa kuvia kaikenlaisille MicroPython-funktioille ikään kuin kuva olisi tavutaulukko-objekti. Erityisesti, jos haluat lähettää kuvan, voit vain antaa sen UART/SPI/I2C-kirjoitusfunktioille lähetettäväksi automaattisesti.
Perusmetodit¶
- format() int¶
Palauttaa
image.GRAYSCALEharmaasävykuville,image.RGB565RGB565-kuville,image.BAYERBayer-kuviokuville jaimage.JPEGJPEG-kuville.
- bytearray() bytearray¶
Palauttaa
bytearray-objektin, joka osoittaa kuvadataan tavutason luku-/kirjoituskäyttöä varten.Muista
Kuvaobjektit muunnetaan automaattisesti
bytes-objekteiksi, kun ne annetaan MicroPython-ajurille, joka vaatiibytes-tyyppisen objektin. Tämä on vain lukukäyttö. Kutsubytearray()saadaksesi luku-/kirjoituskäytön.
- get_pixel(x: int, y: int, rgbtuple: bool | None = None) int | Tuple[int, int, int]¶
Harmaasävykuville: Palauttaa harmaasävypikseliarvon sijainnissa (x, y). RGB565-kuville: Palauttaa RGB888-pikselikolmikon (r, g, b) sijainnissa (x, y). Bayer-kuviokuville: Palauttaa pikseliarvon sijainnissa (x, y).
Palauttaa None, jos
xtaiyon kuvan ulkopuolella.xjayvoidaan antaa joko erikseen tai kolmikkona.rgbtuplesaa True-arvolla tämän metodin palauttamaan RGB888-kolmikon. Muuten tämä metodi palauttaa taustalla olevan pikselin kokonaislukuarvon. Eli RGB565-kuville tämä metodi palauttaa RGB565-arvon. Oletusarvoisesti True RGB565-kuville ja False muuten.Ei tueta pakatuilla kuvilla.
Muista
Image.get_pixel()jaImage.set_pixel()ovat ainoat metodit, jotka antavat sinun käsitellä Bayer-kuviokuvia. Bayer-kuviokuvat ovat kirjaimellisia kuvia, joissa pikselit ovat R/G/R/G/jne. parillisilla riveillä ja G/B/G/B/jne. parittomilla riveillä. Jokainen pikseli on 8-bittinen. Jos kutsut tätä metodiargbtuple-asetuksen ollessa asetettu,Image.get_pixel()debayeroi lähdekuvan kyseisessä pikselisijainnissa ja palauttaa kelvollisen RGB888-kolmikon pikselisijainnille.
- set_pixel(x: int, y: int, pixel: int | Tuple[int, int, int]) Image¶
Harmaasävykuville: Asettaa pikselin sijainnissa (x, y) harmaasävyarvoon
pixel. RGB565-kuville: Asettaa pikselin sijainnissa (x, y) RGB888-kolmikkoon (r, g, b)pixel. Bayer-kuviokuville: Asettaa pikseliarvon sijainnissa (x, y) arvoonpixel.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.xjayvoidaan antaa joko erikseen tai kolmikkona.pixelvoi olla joko RGB888-kolmikko (r, g, b) tai taustalla oleva pikseliarvo (eli RGB565-arvo RGB565-kuville tai 8-bittinen arvo harmaasävykuville).Ei tueta pakatuilla kuvilla.
Muista
Image.get_pixel()jaImage.set_pixel()ovat ainoat metodit, jotka antavat sinun käsitellä Bayer-kuviokuvia. Bayer-kuviokuvat ovat kirjaimellisia kuvia, joissa pikselit ovat R/G/R/G/jne. parillisilla riveillä ja G/B/G/B/jne. parittomilla riveillä. Jokainen pikseli on 8-bittinen. Jos kutsut tätä metodia RGB888-kolmikolla, kyseisen RGB888-kolmikon harmaasävyarvo poimitaan ja asetetaan pikselisijaintiin.
Muunnosmetodit¶
- to_ndarray(dtype: str, buffer: bytes | bytearray | memoryview | None = None) ndarray¶
Palauttaa kuvasta luodun
ndarray-objektin. Tämä toimii tällä hetkellä vain GRAYSCALE- tai RGB565-kuville.dtypevoi ollab,Btaifluomaan etumerkillisen 8-bittisen, etumerkittömän 8-bittisen tai 32-bittisen liukulukutyyppisenndarray-objektin. GRAYSCALE-kuvat muunnetaan suoraan etumerkittömiksi 8-bittisiksindarray-objekteiksi. Etumerkillisille 8-bittisillendarray-objekteille arvot (0:255) kuvataan väliin (-127:128). Liukulukutyyppisille 32-bittisillendarray-objekteille arvot kuvataan väliin (0.0:255.0). RGB565-kuvat muunnetaan 3-kanavaisiksindarray-objekteiksi, ja sama edellä GRAYSCALE-kuville kuvattu prosessi sovelletaan jokaiseen kanavaandtype-arvosta riippuen. Huomaa, ettädtypeottaa vastaan myösb-,B- jaf-merkkien kokonaislukuarvot (esim.ord()) vastaavasti.buffer, jos eiNone, onbytearray-objekti, jota käytetäänndarray-objektin puskurina. JosNone, keosta varataan uusi puskurindarray-kuvadatan tallentamiseen. Voit käyttääbuffer-argumenttia varataksesindarray-objektin suoraan esivarattuun puskuriin säästäen kekovarauksen ja kopiointioperaation.Palautetulla
ndarray-objektilla on muoto(height, width)GRAYSCALE-kuville ja(height, width, 3)RGB565-kuville.
- 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¶
Muuntaa kuvan bittikarttakuvaksi (1 bitti per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Muista
Bittikarttakuvat ovat kuin harmaasävykuvia, joilla on vain kaksi pikseliarvoa - 0 ja 1. Lisäksi bittikarttakuvat on pakattu siten, että ne tallentavat vain 1 bitin per pikseli, mikä tekee niistä hyvin pieniä. OpenMV-kuvakirjasto sallii bittikarttakuvien käytön kaikissa paikoissa, joissa
sensor.GRAYSCALE- jasensor.RGB565-kuvia voidaan käyttää. Monet operaatiot bittikarttakuville sovellettuna eivät kuitenkaan ole järkeviä, koska bittikarttakuvilla on vain 2 arvoa. OpenMV suosittelee bittikarttakuvien käyttöämask-arvoina operaatioissa ja vastaavissa, koska ne mahtuvat MicroPython-kekoon varsin helposti. Lopuksi, bittikarttakuvan pikseliarvot 0 ja 1 tulkitaan mustaksi ja valkoiseksi, kun niitä sovelletaansensor.GRAYSCALE- taisensor.RGB565-kuviin. Kirjasto käsittelee muunnoksen automaattisesti.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan harmaasävykuvaksi (8 bittiä per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan RGB565-kuvaksi (16 bittiä per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan RGB565-sateenkaarikuvaksi (16 bittiä per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan RGB565-ironbow-kuvaksi (16 bittiä per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan RGB565-syvyyskuvaksi (16 bittiä per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi ollaimage.PALETTE_DEPTHtai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan RGB565-tummien tapahtumien kuvaksi (16 bittiä per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan RGB565-vaaleiden tapahtumien kuvaksi (16 bittiä per pikseli).
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan JPEG-kuvaksi.
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.qualityohjaa JPEG-kuvan pakkauslaatua. Arvo voi olla välillä 0 ja 100.subsamplingvoi olla:image.JPEG_SUBSAMPLING_AUTO: Käytä kuvalle parasta alinäytteistystä laadun perusteella.image.JPEG_SUBSAMPLING_444: Käytä 4:4:4-alinäytteistystä.image.JPEG_SUBSAMPLING_422: Käytä 4:2:2-alinäytteistystä.image.JPEG_SUBSAMPLING_420: Käytä 4:2:0-alinäytteistystä.
Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan PNG-kuvaksi.
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muuntaa kuvan JPEG-kuvaksi.
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.qualityohjaa JPEG-kuvan pakkauslaatua. Arvo voi olla välillä 0 ja 100.subsamplingvoi olla:image.JPEG_SUBSAMPLING_AUTO: Käytä kuvalle parasta alinäytteistystä laadun perusteella.image.JPEG_SUBSAMPLING_444: Käytä 4:4:4-alinäytteistystä.image.JPEG_SUBSAMPLING_422: Käytä 4:2:2-alinäytteistystä.image.JPEG_SUBSAMPLING_420: Käytä 4:2:0-alinäytteistystä.
Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Muista
Image.compressonImage.to_jpeg-metodin alias.
- 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¶
Luo syväkopion kuvaobjektista.
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muokkaa kuvaa paikallaan muuttamatta taustalla olevaa kuvatyyppiä.
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Muokkaa kuvaa paikallaan muuttamatta taustalla olevaa kuvatyyppiä.
x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (pois lukienimage.BLACK_BACKGROUND, jota ei tueta tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.copyluo True-arvolla syväkopion keosta muunnetusta kuvasta sen sijaan, että muuntaisi alkuperäisen kuvan paikallaan.copy_to_fblataa True-arvolla kuvan suoraan kehyspuskuriin.copy_to_fbon etusijallacopy-argumenttiin nähden. Tällä ei ole erityisvaikutusta, jos kuva on jo kehyspuskurissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Muista
Image.scaleonImage.crop-metodin alias.
- save(path: str, roi: Tuple[int, int, int, int] | None = None, quality: int = 50) Image¶
Tallentaa kopion kuvasta tiedostojärjestelmään polkuun
path.Tukee bmp/pgm/ppm/jpg/jpeg-kuvatiedostoja. Huomaa, ettet voi tallentaa JPEG-pakattuja kuvia pakkaamattomaan formaattiin.
roion kohdealueen suorakulmio (x, y, w, h), josta tallennetaan. Jos ei määritetty, se vastaa kuvasuorakulmiota, joka kopioi koko kuvan. Tämä argumentti ei koske JPEG-kuvia.qualityon JPEG-pakkauslaatu, jota käytetään kuvan tallentamiseen JPEG-muotoon, jos kuva ei ole jo pakattu (0-100) (int).Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
Piirtometodit¶
- clear(mask: Image | None = None) Image¶
Asettaa kaikki kuvan pikselit nollaksi (erittäin nopea).
maskon toinen kuva, jota käytetään operaation pikselitason maskina. Maskin tulisi olla kuva, jossa on vain mustia tai valkoisia pikseleitä, ja sen tulisi olla samankokoinen kuin käsiteltävä kuva. Vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla.
- draw_line(x0: int, y0: int, x1: int, y1: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1) Image¶
Piirtää viivan pisteestä (x0, y0) pisteeseen (x1, y1) kuvaan. Voit antaa x0, y0, x1, y1 joko erikseen tai kolmikkona (x0, y0, x1, y1).
coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.thicknessohjaa, kuinka paksu viiva on pikseleinä.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Piirtää suorakulmion kuvaan. Voit antaa x, y, w, h joko erikseen tai kolmikkona (x, y, w, h).
coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.thicknessohjaa, kuinka paksuja viivat ovat pikseleinä.Anna
fill-arvoksi True täyttääksesi suorakulmion.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- draw_circle(x: int, y: int, radius: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1, fill: bool = False) Image¶
Piirtää ympyrän kuvaan. Voit antaa x, y, radius joko erikseen tai kolmikkona (x, y, radius).
coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.thicknessohjaa, kuinka paksuja reunat ovat pikseleinä.Anna
fill-arvoksi True täyttääksesi ympyrän.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Piirtää ellipsin kuvaan. Voit antaa cx, cy, rx, ry ja kierron (asteina) joko erikseen tai kolmikkona (cx, yc, rx, ry, rotation).
coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.thicknessohjaa, kuinka paksuja reunat ovat pikseleinä.Anna
fill-arvoksi True täyttääksesi ellipsin.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Piirtää 8x10-tekstiä alkaen sijainnista (x, y) kuvassa. Voit antaa x, y joko erikseen tai kolmikkona (x, y).
texton merkkijono, joka kirjoitetaan kuvaan.\n-,\r- ja\r\n-rivinvaihdot siirtävät kursorin seuraavalle riville.coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.scale-arvoa voidaan kasvattaa kuvan tekstin koon kasvattamiseksi/pienentämiseksi. Voit antaa nollaa suurempia kokonaisluku- tai liukulukuarvoja.x_spacingantaa sinun lisätä (jos positiivinen) tai vähentää (jos negatiivinen) x-pikseleitä merkkien välissä.y_spacingantaa sinun lisätä (jos positiivinen) tai vähentää (jos negatiivinen) y-pikseleitä merkkien välissä (monirivisessä tekstissä).mono_spaceon oletusarvoisesti True, mikä pakottaa tekstin kiinteävälitykseksi. Suurille tekstikertoimille tämä näyttää kamalalta. Aseta False saadaksesi muuttuvaleveyksisen merkkivälityksen, joka näyttää PALJON paremmalta.char_rotationvoi olla 0, 90, 180, 270 kiertämään jokaista merkkijonon merkkiä tämän verran.char_hmirrorpeilaa True-arvolla kaikki merkkijonon merkit vaakasuunnassa.char_vflipkääntää True-arvolla kaikki merkkijonon merkit pystysuunnassa.string_rotationvoi olla 0, 90, 180, 270 kiertämään merkkijonoa tämän verran.string_hmirrorpeilaa True-arvolla merkkijonon vaakasuunnassa.string_vflipkääntää True-arvolla merkkijonon pystysuunnassa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- draw_cross(x: int, y: int, color: int | Tuple[int, int, int] | None = None, size: int = 5, thickness: int = 1) Image¶
Piirtää ristin sijaintiin x, y. Voit antaa x, y joko erikseen tai kolmikkona (x, y).
coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.sizeohjaa, kuinka pitkälle ristin viivat ulottuvat.thicknessohjaa, kuinka paksuja reunat ovat pikseleinä.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- draw_arrow(x0: int, y0: int, x1: int, y1: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1) Image¶
Piirtää nuolen pisteestä (x0, y0) pisteeseen (x1, y1) kuvaan. Voit antaa x0, y0, x1, y1 joko erikseen tai kolmikkona (x0, y0, x1, y1).
coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.thicknessohjaa, kuinka paksu viiva on pikseleinä.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Piirtää tunnistustuloksen kuvaan.
detectionon 6-osainen kolmikko(rx, ry, rw, rh, cx, cy), joka kuvaa rajaavaa suorakulmiota ja keskipistettä (tyypillisesti NN- tai väriseurantakoodin palauttama).color1on suorakulmion väri jacolor2on keskipisteristin väri.sizeon keskipisteristin koko,thicknessohjaa ääriviivan leveyttä jafilltäyttää suorakulmion.label, jos annettu, piirretään suorakulmion lähelle siirrettynälabel_offset-arvolla(x, y).Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Piirtää viivareunat metodien, kuten
blob.corners, palauttaman kulmalistan väliin. Kulmat on neliarvoinen kolmikko kaksiarvoisia x/y-kolmikoita. Esim. [(x1,y1),(x2,y2),(x3,y3),(x4,y4)].coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.size, jos suurempi kuin 0, saa kulmat piirtymään säteeltäänsize-kokoisina ympyröinä.thicknessohjaa, kuinka paksu viiva on pikseleinä.Anna
fill-arvoksi True täyttääksesi kulmaympyrät, jos ne piirretään.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Piirtää
image-kuvan, jonka vasen yläkulma alkaa sijainnista x, y. Voit antaa x, y joko erikseen tai kolmikkona (x, y). Tämä metodi käsittelee automaattisesti annetun kuvan renderöinnin oikeaan pikseliformaattiin kohdekuvaa varten samalla kun se käsittelee rajauksen saumattomasti.Voit myös antaa polun kuvaobjektin sijaan, jolloin tämä metodi lataa kuvan automaattisesti levyltä ja käyttää sitä yhdessä vaiheessa. Esim.
draw_image("test.jpg").x_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan x-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään vaakasuunnassa. Huomaa, että josy_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.y_scaleohjaa, kuinka paljon näytettävää kuvaa skaalataan y-suunnassa (float). Jos tämä arvo on negatiivinen, kuva käännetään pystysuunnassa. Huomaa, että josx_scaleei ole määritetty, se vastaax_scale-arvoa kuvasuhteen säilyttämiseksi.roion lähdekuvan kohdealueen suorakulmiokolmikko (x, y, w, h), joka piirretään. Tämä antaa sinun poimia vain ROI:n pikselit skaalattavaksi ja piirrettäväksi kohdekuvaan.rgb_channelon RGB-kanava (0=R, G=1, B=2), joka poimitaan RGB565-kuvasta (jos annettu) ja renderöidään kohdekuvaan. Esimerkiksi jos annatrgb_channel=1, tämä poimii lähde-RGB565-kuvan vihreän kanavan ja piirtää sen harmaasävynä kohdekuvaan.alphaohjaa, kuinka paljon lähdekuvasta sekoitetaan kohdekuvaan. Arvo 255 piirtää läpinäkymättömän lähdekuvan, kun taas alle 255 oleva arvo tuottaa sekoituksen lähde- ja kohdekuvan välillä. 0 ei muokkaa kohdekuvaa lainkaan.color_palette, jos eiNone, voi olla väripaletin enum-arvo tai kokonaisuudessaan 256 pikselin RGB565-kuva, jota käytetään värihakutauluna minkä tahansa lähdekuvan harmaasävyarvolle. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.alpha_palette, jos eiNone, voi olla kokonaisuudessaan 256 pikselin GRAYSCALE-kuva, jota käytetään alfapalettina, joka moduloi piirrettävän lähdekuvanalpha-arvoa pikselitasolla, jolloin voit ohjata pikselien alfa-arvoa tarkasti niiden harmaasävyarvon perusteella. Pikseliarvo 255 alfahakutaulussa on läpinäkymätön, kun taas mikä tahansa alle 255 oleva muuttuu läpinäkyvämmäksi aina 0:aan asti. Tämä sovelletaanrgb_channel-poiminnan jälkeen, jos sitä käytetään.hinton kohdassa Vihjeliput lueteltujen lippujen looginen TAI (mukaan lukienimage.BLACK_BACKGROUND, jota tuetaan tässä).transformon 3x3ndarray, jota käytetään perspektiivimuunnoksen suorittamiseen kuvalle. Tuetaan tällä hetkellä vain OpenMV Cam N6 -kamerassa, koska siinä on GPU, joka voi tehdä tämän laitteistossa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.
- 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¶
Piirtää avainpisteobjektin avainpisteet kuvaan. Voit myös antaa listan kolmiarvoisia kolmikoita, jotka sisältävät (x, y, rotation_angle_in_degrees), käyttääksesi tätä metodia uudelleen avainpistemerkkien piirtämiseen, jotka ovat ympyrä, jossa on viiva osoittamassa tiettyyn suuntaan.
coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.sizeohjaa, kuinka suuria avainpisteet ovat.thicknessohjaa, kuinka paksu viiva on pikseleinä.Anna
fill-arvoksi True täyttääksesi avainpisteet.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Vuototäyttää kuvan alueen alkaen sijainnista x, y. Voit antaa x, y joko erikseen tai kolmikkona (x, y).
seed_thresholdohjaa, kuinka erilainen mikä tahansa täyttöalueen pikseli voi olla alkuperäisestä aloituspikselistä.floating_thresholdohjaa, kuinka erilainen mikä tahansa täyttöalueen pikseli voi olla mistä tahansa naapuripikselistä.coloron RGB888-kolmikko harmaasävy- tai RGB565-kuville. Oletusarvoisesti valkoinen. Voit kuitenkin antaa myös taustalla olevan pikseliarvon (0-255) harmaasävykuville tai RGB565-arvon RGB565-kuville.Anna
invert-arvoksi True värittääksesi uudelleen kaiken vuototäytön yhdistetyn alueen ulkopuolella.Anna
clear_background-arvoksi True nollataksesi loput pikselit, joita vuototäyttö ei värittänyt uudelleen.maskon toinen kuva, jota käytetään operaation pikselitason maskina. Maskin tulisi olla kuva, jossa on vain mustia tai valkoisia pikseleitä, ja sen tulisi olla samankokoinen kuin käsiteltävä kuva. Vain maskissa asetetut pikselit arvioidaan vuototäytön aikana.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- draw_event_histogram(array: ndarray, clear: bool = True, brightness: int = 128, contrast: int = 16) Image¶
Rasteroi tapahtuma-ndarrayn (sellaisena kuin
csi.IOCTL_GENX320_READ_EVENTSsen täyttää)Image-objektiin visualisointia varten. Kuvapuskurin täytyy olla 320x320 GRAYSCALE-kuva.Jokaiselle
csi.PIX_ON_EVENT-riville tapahtuman pikseliin lisätään+contrast; jokaisellecsi.PIX_OFF_EVENT-riville pikseliin lisätään-contrast. Laukaisutapahtumat jätetään huomiotta. Pikseliarvot rajataan väliin 0-255.clearnollaa True-arvolla kuvapuskurinbrightness-arvoon ennen piirtämistä — jokaisesta kehyksestä tulee tuore vain-tapahtumarenderöinti. Aseta False kerätäksesi tapahtumia useiden kutsujen yli (hyödyllistä pitkän valotuksen liikejäljille).brightnessohjaa keskiharmaata perustasoa, johon puskuri nollataan, kunclearon True. Oletus 128 asettaa ON-tapahtumat kirkkaaseen päähän ja OFF-tapahtumat tummaan päähän yhtä suurella liikkumavaralla.contrastohjaa, kuinka paljon kukin tapahtuma siirtää pikseliään — suuremmat arvot saavat tapahtumat erottumaan, mutta saturoituvat nopeasti, kun monta tapahtumaa osuu samaan pikseliin.
Maskausmetodit¶
- mask_rectangle(x: int, y: int, w: int, h: int) Image¶
Nollaa kuvan suorakulmaisen osan. Jos argumentteja ei anneta, tämä metodi nollaa kuvan keskiosan.
Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- mask_circle(x: int, y: int, radius: int) Image¶
Nollaa kuvan ympyränmuotoisen osan. Jos argumentteja ei anneta, tämä metodi nollaa kuvan keskiosan.
Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- mask_ellipse(x: int, y: int, radius_x: int, radius_y: int, rotation_angle_in_degrees: int) Image¶
Nollaa kuvan ellipsinmuotoisen osan. Jos argumentteja ei anneta, tämä metodi nollaa kuvan keskiosan.
Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Binäärimetodit¶
- binary(thresholds: List[Tuple[int, int]], invert: bool = False, zero: bool = False, mask: Image | None = None, to_bitmap: bool = False, copy: bool = False) Image¶
Asettaa kaikki kuvan pikselit mustaksi tai valkoiseksi sen mukaan, onko kukin pikseli jonkin
thresholds-argumentin kynnyskolmikon sisällä.thresholdson lista(lo, hi)-kolmikoita harmaasävykuville tai(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)-kolmikoita RGB565-kuville. Vaihtuneet min/max-arvot korjataan automaattisesti; puuttuvat komponentit oletusarvona maksimialueeseen.invertkääntää kynnystäsmäytyksen.zeronollaa True-arvolla kynnystetyt pikselit ja jättää muut koskemattomiksi.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.to_bitmapmuuntaa True-arvolla kuvadatan 1-bitti-per-pikseli-bittikartaksi. Hyvin pienille kuville tämä saattaa vaatiacopy=True.copypalauttaa True-arvolla uuden kuvan keosta sen sijaan, että muokkaisi lähdekuvaa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- invert() Image¶
Kääntää kaikki kuvan pikseliarvot (jokaisesta pikselistä tulee
255 - pixel8-bittisille kanaville).Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- b_and(image: Image, mask: Image | None = None) Image¶
Tekee loogisen JA:n tämän kuvan ja toisen kuvan välillä.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- b_nand(image: Image, mask: Image | None = None) Image¶
Tekee loogisen EI-JA:n (NAND) tämän kuvan ja toisen kuvan välillä.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- b_or(image: Image, mask: Image | None = None) Image¶
Tekee loogisen TAI:n tämän kuvan ja toisen kuvan välillä.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- b_nor(image: Image, mask: Image | None = None) Image¶
Tekee loogisen EI-TAI:n (NOR) tämän kuvan ja toisen kuvan välillä.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- b_xor(image: Image, mask: Image | None = None) Image¶
Tekee loogisen poissulkevan TAI:n (XOR) tämän kuvan ja toisen kuvan välillä.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- b_xnor(image: Image, mask: Image | None = None) Image¶
Tekee loogisen poissulkevan EI-TAI:n (XNOR) tämän kuvan ja toisen kuvan välillä.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
ISP-metodit¶
- awb(max: bool = False) Image¶
Suorittaa automaattisen valkotasapainon kuvalle gray-world-algoritmilla. Toimii RAW Bayer- tai RGB565-kuvilla. Ei vaikutusta binääri-/harmaasävykuviin.
maxkäyttää True-arvolla white-patch-algoritmia sen sijaan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla tai YUV-kuvilla.
- ccm(matrix: List[List[float]]) Image¶
Kertoo annetun liukulukutyyppisen värinkorjausmatriisin kuvan kanssa. Matriisit voivat olla 3x3 tai 3x4 (siirtosarakkeella), sisäkkäisenä listana tai litteänä listana:
[[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]
Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- gamma(gamma: float = 1.0, contrast: float = 1.0, brightness: float = 0.0) Image¶
Säätää kuvan gammaa, kontrastia ja kirkkautta.
gammasoveltaapow(pixel, 1/gamma)normalisoinnin jälkeen. Yli 1.0 olevat arvot kirkastavat; alle 1.0 olevat tummentavat.contrastsoveltaapixel * contrastnormalisoinnin jälkeen.brightnesssoveltaapixel + brightnessnormalisoinnin jälkeen.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla tai Bayer-/YUV-kuvilla.
Matemaattiset metodit¶
- negate() Image¶
Image.invert-metodin alias.
- replace(image: Image | None = None, **kwargs) Image¶
Image.draw_image()-metodin alias. Korvaa tämän kuvanimage-kuvalla (tai muuntaa tämän kuvan paikallaan, josimagejätetään pois) käyttäendraw_image-metodin vakioavainsana-argumentteja.transform-argumentti on 3x3ndarray, joka kuvaa perspektiivimuunnoksen (tuetaan vain OpenMV-kameroissa, joissa ULAB on käytössä).
- assign(image: Image | None = None, **kwargs) Image¶
Image.replace()-metodin alias.
- set(image: Image | None = None, **kwargs) Image¶
Image.replace()-metodin alias.
- add(image: Image, mask: Image | None = None) Image¶
Lisää kuvan pikseli kerrallaan tähän kuvaan.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- sub(image: Image, mask: Image | None = None) Image¶
Vähentää
image-kuvan pikseli kerrallaan tästä kuvasta (self - image).imagevoi olla joko kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Tämä metodi ottaa vastaan myös
Image.draw_image()-metodin koko avainsana-argumenttijoukon (x,y,x_scale,y_scale,roi,rgb_channel,alpha,color_palette,alpha_palette,hint,transform).Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- rsub(image: Image, mask: Image | None = None) Image¶
Käänteinen vähennys: korvaa tämän kuvan
image - self-laskulla pikseli kerrallaan. Muuten identtinenImage.sub()-metodin kanssa.
- min(image: Image, mask: Image | None = None) Image¶
Palauttaa kahden kuvan minimikuvan pikseli kerrallaan.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- max(image: Image, mask: Image | None = None) Image¶
Palauttaa kahden kuvan maksimikuvan pikseli kerrallaan.
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- difference(image: Image, mask: Image | None = None) Image¶
Palauttaa kahden kuvan absoluuttisen erotuskuvan (esim. ||a-b||).
imagevoi olla kuvaobjekti, polku pakkaamattomaan kuvatiedostoon (bmp/pgm/ppm) tai skalaariarvo (RGB888-kolmikko tai taustalla oleva pikseliarvo).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- blend(image: Image, x: int = 0, y: int = 0, alpha: int = 128, mask: Image | None = None, **kwargs) Image¶
Image.draw_image()-metodin alias. Alfasekoittaaimage-kuvan tähän kuvaan.alphaon kokonaisluku 0-256; 256:tta lähempänä olevat arvot suosivat lähdekuvaa. Ottaa vastaan kaikkiImage.draw_image()-metodin avainsana-argumentit.
- histeq(adaptive: bool = False, clip_limit: float = -1, mask: Image | None = None) Image¶
Suorittaa histogrammin tasoituksen kuvalle kontrastin ja kirkkauden normalisoimiseksi.
adaptivesuorittaa True-arvolla adaptiivisen histogrammin tasoituksen (hitaampi mutta yleensä parempi).clip_limitrajoittaa kontrastia adaptiivisessa variantissa (pieni arvo kuten 10 tuottaa hyviä CLAHE-tuloksia).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Suodatusmetodit¶
- erode(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Poistaa pikseleitä segmentoitujen alueiden reunoilta. Konvoloi
((size*2)+1)x((size*2)+1)-ytimen kuvan yli tyhjentäen keskipikselin, jos useampi kuinthresholdnaapuria on tyhjä (toimii standardina eroosiona, josthresholdon None).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- dilate(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Lisää pikseleitä segmentoitujen alueiden reunoille. Konvoloi
((size*2)+1)x((size*2)+1)-ytimen kuvan yli asettaen keskipikselin, jos useampi kuinthresholdnaapuria on asetettu (toimii standardina dilaationa, josthresholdon None).maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- open(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Suorittaa eroosion ja sitten dilaation. Katso
Image.erode()jaImage.dilate().maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- close(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Suorittaa dilaation ja sitten eroosion. Katso
Image.dilate()jaImage.erode().maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- top_hat(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Palauttaa kuvan ja
Image.open()-käsitellyn kuvan erotuskuvan.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- black_hat(size: int, threshold: int | None = None, mask: Image | None = None) Image¶
Palauttaa kuvan ja
Image.close()-käsitellyn kuvan erotuskuvan.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- mean(size: int, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Standardi keskiarvosumennussuodatin laatikkosuodatinta käyttäen.
sizeon ytimen koko. Käytä 1 (3x3-ydin), 2 (5x5-ydin) jne.thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- 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¶
Suorittaa persentiilisuodattimen kuvalle (oletuksena mediaani).
sizeon ytimen koko. Käytä 1 (3x3-ydin), 2 (5x5-ydin) jne.percentileon kustakin ytimestä valittava persentiili (0 = min, 0.5 = mediaani, 1.0 = max). Oletusarvoisesti 0.5.thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- mode(size: int, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image¶
Korvaa jokaisen pikselin sen naapureiden moodilla. Saattaa tuottaa artefakteja RGB-kuvan reunoissa epälineaarisen operaation vuoksi.
sizeon ytimen koko. Käytä 1 (3x3-ydin), 2 (5x5-ydin) jne.thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- 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¶
Suorittaa keskipistesuodattimen kuvalle. Tämä suodatin etsii kunkin pikselin naapuruston keskipisteen ((max-min)/2) kuvassa.
sizeon ytimen koko. Käytä 1 (3x3-ydin), 2 (5x5-ydin) jne.biasohjaa min/max-sekoitusta. 0 vain min-suodatukseen, 1.0 vain max-suodatukseen. Käyttämälläbias-arvoa voit min/max-suodattaa kuvan.thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- 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¶
Konvoloi kuvan mielivaltaisella suodatinytimellä.
sizeohjaa ytimen kokoa, jonka täytyy olla((size*2)+1)x((size*2)+1)alkiota.kernelon konvoloitava ydin, joko litteänä 1D-listana/kolmikkona, jossa on((size*2)+1)*((size*2)+1)alkiota, tai 2D-listana/kolmikkona, jossa on((size*2)+1)riviä((size*2)+1)alkiota.mulon multiplikatiivinen kontrastikerroin (oletus 1.0).addon additiivinen kirkkaussiirtymä (oletus 0.0).thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- 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¶
Konvoloi kuvan pehmentävällä Gaussin ytimellä.
sizeon ytimen koko. Käytä 1 (3x3-ydin), 2 (5x5-ydin) jne.unsharpsuorittaa True-arvolla unsharp mask -operaation (terävöittää reunoja) tavallisen Gaussin sijaan.mulon multiplikatiivinen kontrastikerroin (oletus 1.0).addon additiivinen kirkkaussiirtymä (oletus 0.0).thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- 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¶
Konvoloi kuvan reunoja tunnistavalla Laplace-ytimellä.
sizeon ytimen koko. Käytä 1 (3x3-ydin), 2 (5x5-ydin) jne.sharpenterävöittää True-arvolla kuvaa sen sijaan, että ulostaisi raa’an kynnystämättömän reunavasteen.mulon multiplikatiivinen kontrastikerroin (oletus 1.0).addon additiivinen kirkkaussiirtymä (oletus 0.0).thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
- 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¶
Konvoloi kuvan bilateraalisuodattimella (reunoja säilyttävä pehmennys).
sizeon ytimen koko. Käytä 1 (3x3-ydin), 2 (5x5-ydin) jne.color_sigmaohjaa värintäsmäystoleranssia; suuremmat arvot tuottavat enemmän värisumennusta.space_sigmaohjaa spatiaalista sumennusta; suuremmat arvot tuottavat enemmän pikselisumennusta.thresholdkynnystää True-arvolla adaptiivisesti suodattimen ulostulon binäärikuvaksi.offsetsiirtää binarisointia (negatiivinen tekee enemmän pikseleistä valkoisia, positiivinen tekee vähemmän).invertkääntää binääriulostulon.maskon binäärikuva, jota käytetään pikselitason maskina; vain maskissa asetetut pikselit muokataan.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-/YUV-kuvilla.
Geometriset metodit¶
- linpolar(reverse: bool = False, *, x: int | None = None, y: int | None = None) Image¶
Uudelleenprojisoi kuvan karteesisista koordinaateista lineaarisiin napakoordinaatteihin.
Aseta
reverse=Trueuudelleenprojisoidaksesi vastakkaiseen suuntaan.xjaymäärittävät muunnoksen keskikoordinaatin kuvapikseleinä. JosxonNone(oletus), se asetetaan kuvan leveyden puolikkaaksi; vastaavastiyoletusarvona kuvan korkeuden puolikkaaksi.Lineaarinen napauudelleenprojisointi muuttaa kuvan kierron x-siirtymäksi.
Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- logpolar(reverse: bool = False, *, x: int | None = None, y: int | None = None) Image¶
Uudelleenprojisoi kuvan karteesisista koordinaateista logaritmisiin napakoordinaatteihin.
Aseta
reverse=Trueuudelleenprojisoidaksesi vastakkaiseen suuntaan.xjaymäärittävät muunnoksen keskikoordinaatin kuvapikseleinä. JosxonNone(oletus), se asetetaan kuvan leveyden puolikkaaksi; vastaavastiyoletusarvona kuvan korkeuden puolikkaaksi.Logaritminen napauudelleenprojisointi muuttaa kuvan kierron x-siirtymäksi ja skaalauksen/zoomauksen y-siirtymäksi.
Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- lens_corr(strength: float = 1.8, zoom: float = 1.0, x_corr: float = 0.0, y_corr: float = 0.0) Image¶
Suorittaa linssikorjauksen kuvan poiskalansilmäisyyttämiseksi linssin vääristymän vuoksi.
strengthon float, joka määrittää kuinka paljon kuvaa poiskalansilmäistetään. Kokeile oletusarvona 1.8 ja kasvata tai pienennä siitä, kunnes kuva näyttää hyvältä.zoomon määrä, jolla kuvaan zoomataan. Oletusarvona 1.0.x_corrliukulukutyyppinen pikselisiirtymä keskeltä. Voi olla negatiivinen tai positiivinen.y_corrliukulukutyyppinen pikselisiirtymä keskeltä. Voi olla negatiivinen tai positiivinen.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Korjaa kuvan perspektiiviongelmia tekemällä kehyspuskurin 3D-kierron.
x_rotationon asteiden määrä, jolla kehyspuskurissa olevaa kuvaa kierretään x-akselin ympäri (eli tämä pyörittää kuvaa ylös ja alas).y_rotationon asteiden määrä, jolla kehyspuskurissa olevaa kuvaa kierretään y-akselin ympäri (eli tämä pyörittää kuvaa vasemmalle ja oikealle).z_rotationon asteiden määrä, jolla kehyspuskurissa olevaa kuvaa kierretään z-akselin ympäri (eli tämä pyörittää kuvaa paikallaan).x_translationon yksiköiden määrä, jolla kuvaa siirretään vasemmalle tai oikealle kierron jälkeen. Koska tämä siirto sovelletaan 3D-avaruudessa, yksiköt eivät ole pikseleitä…y_translationon yksiköiden määrä, jolla kuvaa siirretään ylös tai alas kierron jälkeen. Koska tämä siirto sovelletaan 3D-avaruudessa, yksiköt eivät ole pikseleitä…zoomon määrä, jolla kuvaan zoomataan. Oletusarvona 1.0.fovon näkökenttä, jota käytetään sisäiseen 2D->3D-projektioon. Kunfovlähestyy 0:aa, kuva asetetaan äärettömyyteen; kun se lähestyy 180:tä, kuva asetetaan näkymäalueen sisään.cornerson lista neljästä (x, y) -kolmikosta, joita käytetään 4-pisteisen homografian rakentamiseen, joka kuvaa kulmat pisteisiin (0, 0), (image_width-1, 0), (image_width-1, image_height-1) ja (0, image_height-1) ennen 3D-kierron soveltamista. Hyödyllinen lintuperspektiivimuunnoksissa.Palauttaa kuvaobjektin, jotta voit kutsua toista metodia
.-notaatiolla.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
Get-metodit¶
- 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¶
Laskee kahden kuvan välisen samankaltaisuuden käyttäen rakenteellista samankaltaisuusindeksiä (SSIM). SSIM vaihtelee välillä -1 (vastakkainen) ja 1 (identtinen). Palauttaa
image.similarity-objektin.imageon kuva, johon verrataan (kuvaobjekti tai polkumerkkijono, esim."test.jpg").x,y,x_scale,y_scale,roi,rgb_channel,alpha,color_palette,alpha_palette,hintjatransformottavat vastaan samat arvot kuinImage.draw_image().dssimpalauttaa True-arvolla rakenteellisen erilaisuusindeksin (DSSIM) sen sijaan, jossa 0 tarkoittaa identtistä ja 1 tarkoittaa täysin erilaista.
- 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¶
Laskee normalisoidun histogrammin kaikille värikanaville
roi-alueelta ja palauttaaimage.histogram-objektin. Saatavilla myös nimelläImage.get_hist()taiImage.histogram().thresholdson lista(lo, hi)-kolmikoita harmaasävykuville tai(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)-kolmikoita RGB565-kuville. Jos annettu, histogrammi lasketaan vain kynnysarvojen sisällä olevista pikseleistä.invertkääntää kynnystäsmäytyksen.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.bins(harmaasävy) tail_bins/a_bins/b_bins(RGB565) asettavat histogrammilokeroiden määrän per kanava. Täytyy olla suurempi kuin 2. Oletusarvona maksimilokeromäärä per kanava.differencevoidaan asettaa kuvaobjektiksi, jolloin operoidaan nykyisen kuvan ja kyseisen kuvan välisellä erotuksella ilman ylimääräistä puskuria.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Laskee keskiarvon, mediaanin, moodin, keskihajonnan, minimin, maksimin, alemman kvartiilin ja ylemmän kvartiilin kaikille värikanaville
roi-alueelta ja palauttaaimage.statistics-objektin. Saatavilla myös nimelläImage.get_stats()taiImage.statistics().thresholdson lista(lo, hi)-kolmikoita harmaasävykuville tai(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)-kolmikoita RGB565-kuville. Jos annettu, tilastot lasketaan vain kynnysarvojen sisällä olevista pikseleistä.invertkääntää kynnystäsmäytyksen.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.bins(harmaasävy) tail_bins/a_bins/b_bins(RGB565) asettavat histogrammilokeroiden määrän per kanava. Täytyy olla suurempi kuin 2. Oletusarvona maksimilokeromäärä per kanava.differencevoidaan asettaa kuvaobjektiksi, jolloin operoidaan nykyisen kuvan ja kyseisen kuvan välisellä erotuksella ilman ylimääräistä puskuria.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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¶
Laskee lineaarisen regression (Theil-Sen) kaikille kuvan kynnystetyille pikseleille. Palauttaa
image.line-objektin tai None, jos viivaa ei löytynyt.thresholdson lista(lo, hi)-kolmikoita harmaasävykuville tai(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)-kolmikoita RGB565-kuville.invertkääntää kynnystäsmäytyksen.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.x_stridejay_strideohjaavat, kuinka monta pikseliä ohitetaan kuvaa arvioitaessa.area_thresholdminimi rajauslaatikon pinta-ala; pienemmät tulokset palauttavat None.pixels_thresholdminimi kynnystettyjen pikselien määrä; pienemmät tulokset palauttavat None.target_sizeon(w, h)-kolmikko. ROI aluepohjaisesti pienennetään mahtumaan tämän koon sisään ennen O(N^2)-algoritmin suorittamista. Oletusarvona(80, 60).Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Tunnistusmetodit¶
- 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]¶
Etsii kaikki blobit (yhtenäiset pikselialueet, jotka läpäisevät kynnystestin) kuvasta ja palauttaa listan
image.blob-objekteja.thresholdson lista(lo, hi)-kolmikoita harmaasävykuville tai(l_lo, l_hi, a_lo, a_hi, b_lo, b_hi)-kolmikoita RGB565-kuville (LAB-kanavat). Enintään 32 kolmikkoa voidaan antaa. Vaihtuneet min/max-arvot korjataan automaattisesti; puuttuvat komponentit oletusarvona maksimialueeseen.invertkääntää kynnystäsmäytyksen.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.x_stridejay_strideohjaavat, kuinka monta pikseliä ohitetaan blobia etsittäessä. Kasvata, jos blobien tiedetään olevan suuria.area_thresholdminimi rajauslaatikon pinta-ala; pienemmät blobit suodatetaan.pixels_thresholdminimi kynnystettyjen pikselien määrä; pienemmät blobit suodatetaan.mergeyhdistää True-arvolla blobit, joiden rajaavat suorakulmiot leikkaavat toisensa.marginkasvattaa/pienentää leikkaukseen käytettyjä rajaavia suorakulmioita. Yhdistetyt blobit TAI-operoivatcode-bittivektorinsa yhteen (yksi bitti per kynnysarvo).threshold_cbkutsutaan blobia kohti kynnystyksen jälkeen; palauta True säilyttääksesi, False suodattaaksesi.merge_cbkutsutaan kutakin yhdistettävää blobiparia kohti; palauta True salliaksesi yhdistämisen, False estääksesi sen.x_hist_bins_max, jos nollasta poikkeava, täyttää kunkin blobin x_histogram-projektiolla käyttäen tämän verran lokeroita.y_hist_bins_max, jos nollasta poikkeava, täyttää kunkin blobin y_histogram-projektiolla käyttäen tämän verran lokeroita.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
- 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]¶
Etsii kaikki äärettömät viivat kuvasta käyttäen Hough-muunnosta. Palauttaa listan
image.line-objekteja.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.x_stridejay_strideohjaavat, kuinka monta pikseliä ohitetaan Hough-muunnoksen aikana.thresholdminimi viivan magnitudi (Sobel-magnitudien summa viivaa pitkin); tämän alle jäävät viivat suodatetaan pois.theta_marginjarho_marginohjaavat yhdistämistä: näiden kynnysarvojen sisällä olevat viivat yhdistetään.Ei tueta pakatuilla kuvilla tai Bayer-kuvilla.
Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- find_line_segments(roi: Tuple[int, int, int, int] | None = None, merge_distance: int = 0, max_theta_difference: int = 15) List[line]¶
Etsii viivasegmentit kuvasta. Palauttaa listan
image.line-objekteja.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.merge_distanceon suurin pikselietäisyys kahden segmentin välillä yhdistettäväksi.max_theta_differenceon suurin theeta-ero asteina segmenttien välillä yhdistettäväksi.Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- 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]¶
Etsii ympyrät kuvasta käyttäen Hough-muunnosta. Palauttaa listan
image.circle-objekteja.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.x_stridejay_strideohjaavat, kuinka monta pikseliä ohitetaan Hough-muunnoksen aikana.thresholdminimi ympyrän magnitudi (Sobel-magnitudien summa ympyrää pitkin); tämän alle jäävät ympyrät suodatetaan pois.x_margin,y_marginjar_marginohjaavat yhdistämistä: näiden kynnysarvojen sisällä olevat ympyrät yhdistetään.r_minminimi ympyrän säde. Oletusarvona 2.r_maxmaksimi ympyrän säde. Oletusarvonamin(roi.w/2, roi.h/2).r_stepsäteen askelkoko. Oletusarvona 2.Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- find_rects(roi: Tuple[int, int, int, int] | None = None, threshold: int = 1000) List[rect]¶
Etsii suorakulmiot kuvasta käyttäen AprilTag-nelikulmiotunnistusalgoritmia. Palauttaa listan
image.rect-objekteja.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.thresholdminimi reunan magnitudi (Sobel-magnitudien summa suorakulmion reunoja pitkin); tämän alle jäävät suorakulmiot suodatetaan pois.Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- find_qrcodes(roi: Tuple[int, int, int, int] | None = None) List[qrcode]¶
Etsii kaikki QR-koodit
roi-alueen sisältä ja palauttaa listanimage.qrcode-objekteja.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- 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]¶
Etsii kaikki AprilTag-tunnisteet
roi-alueen sisältä ja palauttaa listanimage.apriltag-objekteja.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.familieson tunnisteperheiden bittimaski dekoodattavaksi. Se on seuraavien looginen TAI:Oletusarvona
image.TAG36H11. Tunnistusaika skaalautuu käytössä olevien perheiden määrän mukaan.fxjafyovat kameran X- ja Y-polttovälit pikseleinä.cxjacyovat kuvan keskipiste, tyypillisestiimage.width()/2jaimage.height()/2.Ei tueta pakatuilla kuvilla.
Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- find_datamatrices(roi: Tuple[int, int, int, int] | None = None, effort: int = 200) List[datamatrix]¶
Etsii kaikki datamatriisit
roi-alueen sisältä ja palauttaa listanimage.datamatrix-objekteja.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.effortohjaa, kuinka paljon aikaa käytetään datamatriisitäsmäysten etsimiseen. Suuremmat arvot parantavat tunnistusta kuvataajuuden kustannuksella. Alle ~160 olevat arvot eivät onnistu tunnistamaan; yli ~240 olevat arvot tuottavat vähenevää hyötyä. Oletusarvona 200.Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- find_barcodes(roi: Tuple[int, int, int, int] | None = None) List[barcode]¶
Etsii kaikki 1D-viivakoodit
roi-alueen sisältä ja palauttaa listanimage.barcode-objekteja. Skannaa sekä vaaka- että pystysuunnassa.Tuetut viivakooditypit:
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.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- 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¶
Etsii tämän kuvan siirtymäsiirtymän
template-mallista käyttäen vaihekorrelaatiota. Palauttaaimage.displacement-objektin.roion kohdealueen suorakulmio (x, y, w, h). Oletusarvona kuvasuorakulmio.template_roion mallin kohdealue. Oletusarvona mallikuvan suorakulmio.roijatemplate_roitäytyy olla samanleveyksisiä ja -korkuisia.logpolarpalauttaa True-arvolla kierto-/skaalausmuutoksen x/y-siirtymän sijaan.fix_rotation_scalelaskee True-arvolla siirtymän kierron ja skaalauksen kohdistamisen jälkeen (merkityksellinen vain kunlogpolar=False).Muista
Käytä tätä metodia kahden potenssin kuvakoilla (esim.
sensor.B64X64).Ei tueta pakatuilla kuvilla tai Bayer-kuvilla. Ei käytettävissä OpenMV Cam M4 -kamerassa.
- 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¶
Yrittää löytää ensimmäisen sijainnin kuvasta, jossa
templatetäsmää käyttäen normalisoitua ristikorrelaatiota. Palauttaa rajauslaatikkokolmikon (x, y, w, h) tai None.templateon harmaasävykuva, johon täsmätään tätä kuvaa vasten.thresholdon arvo (0.0-1.0). Suuremmat arvot vähentävät vääriä positiivisia ja tunnistuksia; pienemmät arvot tekevät päinvastoin.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.stepon ohitettavien pikselien määrä etsittäessä (käytetään vainimage.SEARCH_EX-tilassa).searchonimage.SEARCH_DS(nopeampi timanttihaku) taiimage.SEARCH_EX(tyhjentävä haku).Toimii vain harmaasävykuvilla.
- 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]]¶
Etsii kuvasta annettua Haar-kaskadia vastaavat alueet ja palauttaa listan rajauslaatikkokolmikoita (x, y, w, h). Palauttaa tyhjän listan, jos piirteitä ei löydy.
cascadeon Haar Cascade -objekti (katsoimage.HaarCascade()).threshold(0.0-1.0). Pienemmät arvot nostavat tunnistustaajuutta ja väärien positiivisten taajuutta.scaletäytyy olla suurempi kuin 1.0. Suuremmat arvot toimivat nopeammin mutta tuottavat heikompia täsmäyksiä.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.
- find_eye(roi: Tuple[int, int, int, int]) Tuple[int, int]¶
Etsii pupillia silmän ympärillä olevasta kohdealueen (x, y, w, h) -kolmikosta. Palauttaa pupillin (x, y) -sijainnin tai (0, 0), jos sitä ei löydy.
roion kohdealueen suorakulmiokolmikko (x, y, w, h).Toimii vain harmaasävykuvilla.
- find_lbp(roi: Tuple[int, int, int, int]) lbp_descriptor¶
Poimii LBP (local-binary-patterns) -avainpisteet kohdealueelta. Käytä
image.match_descriptor()kahden kuvaajan vertaamiseen.roion kohdealueen suorakulmiokolmikko (x, y, w, h).Toimii vain harmaasävykuvilla.
- 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¶
Poimii ORB-avainpisteet kohdealueelta. Käytä
image.match_descriptor()kahden kuvaajan vertaamiseen. Palauttaa None, jos avainpisteitä ei löytynyt.roion kohdealueen suorakulmiokolmikko (x, y, w, h). Oletusarvona kuvasuorakulmio.threshold(0-255) ohjaa poimittujen kulmien määrää. Pienemmät kynnysarvot tuottavat enemmän kulmia. Käytä ~20 AGAST:lle, ~60-80 FAST:lle.normalizedpoistaa True-arvolla käytöstä moniresoluutioisen avainpisteiden poiminnan.scale_factortäytyy olla suurempi kuin 1.0. Suuremmat arvot toimivat nopeammin mutta tuottavat heikompia täsmäyksiä.max_keypointson säilytettävien avainpisteiden maksimimäärä.corner_detectoronimage.CORNER_FASTtaiimage.CORNER_AGAST.Toimii vain harmaasävykuvilla.
- find_edges(edge_type: int, threshold: Tuple[int, int] = (100, 200)) Image¶
Muuttaa kuvan mustavalkoiseksi jättäen vain reunat valkoisina pikseleinä.
image.EDGE_SIMPLE - Yksinkertainen kynnystetty ylipäästösuodatinalgoritmi.
image.EDGE_CANNY - Cannyn reunantunnistusalgoritmi.
thresholdon kaksiarvoinen kolmikko, joka sisältää alakynnyksen ja yläkynnyksen. Voit ohjata reunojen laatua säätämällä näitä arvoja. Oletusarvona (100, 200).Toimii vain harmaasävykuvilla.
- find_hog(roi: Tuple[int, int, int, int] | None = None, size: int = 8) Image¶
Korvaa ROI:n pikselit HOG (histogram of orientated gradients) -viivoilla.
roion kohdealueen suorakulmiokolmikko (x, y, w, h). Jos ei määritetty, se vastaa kuvasuorakulmiota. Vainroi-alueen sisällä olevia pikseleitä käsitellään.Toimii vain harmaasävykuvilla.
Tämä metodi ei ole käytettävissä OpenMV Cam M4 -kamerassa.
- stereo_disparity(reversed: bool = False, max_disparity: int = 64, threshold: int = 64) Image¶
Ottaa kaksinkertaisen levyisen harmaasävykuvan, joka sisältää kahden vierekkäisen kamerasensorin ulostulon, ja korvaa toisen puoliskon stereodisparitettikuvalla (jokainen pikseli edustaa syvyyttä). Esim. kahdelle 320x240-kameralle anna 640x240-kuva.
reversedOletusarvoisesti vasenta kuvaa verrataan oikeaan ja oikea kuva korvataan. Aseta True verrataksesi oikea->vasen ja korvataksesi vasemman kuvan.max_disparityon suurin etäisyys (1-255), jolla etsitään täsmäävää pikselilohkoa käyttäen absoluuttisten erojen summaa. Suuremmat arvot vievät eksponentiaalisesti kauemmin mutta tuottavat laadukkaamman ulostulon.thresholdjos absoluuttisten erojen summa kahden lohkon välillä on pienempi tai yhtä suuri kuin tämä kynnysarvo, niiden katsotaan täsmäävän.
- 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]]¶
Suorittaa selektiivisen haun kuvalle ja palauttaa listan rajauslaatikkokolmikoita (x, y, w, h) ehdotetuista objekteista.
thresholdon segmentointikynnys; suuremmat arvot tuottavat vähemmän/suurempia alueita.sizeon minimi aluekoko yhdistämisen jälkeen.a1,a2,a3ovat väri-/tekstuuri-/kokosamankaltaisuuspainot, joita käytetään alueita yhdistettäessä.