class Image – Image nesnesi

Image, image modülünün merkezi veri türüdür – her çizim rutininin, her filtrenin, her geometrik dönüşümün ve her öznitelik çıkarma rutininin üzerinde çalıştığı bellek içi bir piksel arabelleğidir. csi.CSI.snapshot() çağrısından çıkan her çerçeve bir Image nesnesidir; diskten yüklenen, JPEG veya PNG’den çözülen, numpy tarzı bir ndarray üzerinden ayrılan ya da boş bir çizim tuvali olarak oluşturulan her çerçeve de öyledir.

Bir Image nesnesi üç sayı ile tanımlanır – width, height ve pixformat – artı bitişik bir piksel arabelleği. Piksel formatı hem bellek içi yerleşimi hem de hangi işlemlerin kullanılabilir olduğunu belirler:

  • BINARY (1 bpp) – piksel başına 1 bit; morfoloji ve eşikleme tarafından kullanılır.

  • GRAYSCALE (8 bpp) – piksel başına 1 bayt; çoğu CV işlemi için standart format (AprilTag, kenarlar, ORB, optik akış).

  • RGB565 (16 bpp) – piksel başına 2 bayt (5R/6G/5B); varsayılan renk formatı.

  • BAYER (8 bpp) – sensörden doğrudan gelen ham Bayer mozaik verisi. Çoğu CV yöntemi Bayer görüntülerinde kullanılamaz; önce GRAYSCALE / RGB565’e debayer işlemi uygulayın.

  • YUV422 (16 bpp) – 4:2:2 kroma alt örneklemeli renk, piksel başına iki bayt. Yalnızca bazı yöntemler doğrudan YUV422 üzerinde çalışır.

  • JPEG / PNG – sıkıştırılmış arabellekler. Piksel düzeyindeki işlemler önce to_grayscale() veya to_rgb565() gerektirir.

Image nesneleri nereden gelir

Bir Image elde etmenin dört yolu vardır:

  • Kamera çerçeve arabelleğinden (frame buffer)csi.CSI().snapshot() bir sonraki yakalanan çerçeveyi döndürür. Döndürülen nesne, kameranın çerçeve arabelleği belleğinin etrafındaki ince bir sarmalayıcıdır, bu nedenle üzerinde yapılan herhangi bir çizim / filtre işlemi IDE önizlemesine ve ekrana gönderilen şeyi değiştirir.

  • Bir dosyadanImage yapıcısına bir yol dizesi geçirin. BMP, PGM, PPM, JPEG ve PNG doğrudan RAM’e (veya copy_to_fb=True ise kamera çerçeve arabelleğine) çözülür.

  • Bir ndarray’den – bir (h, w) veya (h, w, 3) float32 dizisi geçirin. Pikseller sırasıyla 0.0 -- 255.0 aralığından GRAYSCALE veya RGB565’e ölçeklenir.

  • Boş – sıfırla doldurulmuş bir çizim yüzeyi ayırmak için (width, height, pixformat) geçirin. Sıkıştırılmış piksel formatları (JPEG / PNG) için bir buffer= argümanı gereklidir ve sıkıştırılmış bayt akışını tutar.

Tipik yakala-işle-göster döngüsü

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.

İndeksleme, uzunluk, yineleme ve bytes benzeri erişim

  • İndekslemeimg[i] piksel i‘yi okur (doğrusal, satır öncelikli). img[i] = value onu yazar. Grayscale / Bayer pikselleri 8 bitlik tamsayılardır, RGB565 / YUV422 pikselleri 16 bitlik paketlenmiş tamsayılardır, ikili pikseller 0 / 1’dir. JPEG / PNG görüntüleri için indeks uzayı pikseller değil, sıkıştırılmış bayt akışıdır.

  • Uzunluklen(img) sıkıştırılmamış formatlar için piksel sayısını veya sıkıştırılmış formatlar için bayt sayısını döndürür.

  • Yinelemefor px in img: ... piksel dizisini [] indekslemesiyle aynı sırada dolaşır.

  • Bytes benzeriImage okuma arabelleği protokolünü açığa çıkarır, böylece onu doğrudan bir bytes / bytearray alan herhangi bir şeye geçirebilirsiniz (örneğin uart.write(img), socket.send(img), hashlib.sha256(img)). Okuma/yazma görünümü elde etmek için bunun yerine bytearray() kullanın.

İpucu bayrakları

Birçok Image yöntemi, aşağıdaki bayrakların mantıksal OR’u olan bir hint argümanını kabul eder:

class image.Image(arg: str | int | ndarray, height: int = -1, pixformat: int = -1, *, buffer: bytes | bytearray | memoryview | None = None, copy_to_fb: bool = False)

arg bir dize ise bu, arg yolundaki bir dosyadan yeni bir görüntü nesnesi oluşturur. Diskten bmp/pgm/ppm/jpg/jpeg/png görüntü dosyalarını yüklemeyi destekler. copy_to_fb doğruysa görüntü, yığında ayrılmak yerine çerçeve arabelleğine kopyalanır.

arg bir ndarray ise bu, ndarray‘den yeni bir görüntü nesnesi oluşturur. (w, h) şekline sahip ndarray nesneleri grayscale görüntü olarak, (w, h, 3) ise RGB565 görüntü olarak işlenir. Şu anda yalnızca float32 nokta ndarrays desteklenmektedir. Bir görüntüyü bu şekilde oluştururken bir buffer argümanı geçirirseniz, yığında alan ayırmak yerine görüntü verilerini depolamak için bu kullanılır. copy_to_fb doğruysa görüntü, yığında ayrılmak veya buffer kullanılmak yerine çerçeve arabelleğine kopyalanır.

arg bir int ise yeni bir görüntünün genişliği olarak kabul edilir ve yeni bir boş görüntü nesnesi oluşturmak için bir height değeri ve bir format değeri izlemelidir. format, image.GRAYSCALE gibi herhangi bir görüntü pixformat değeri olabilir. Görüntü tümüyle sıfırlara ilklendirilir. Sıkıştırılmış görüntü formatları için bir buffer değerinin beklendiğini unutmayın. Bu şekilde görüntü oluştururken buffer görüntü verisinin kaynağı olarak kabul edilir. copy_to_fb ile kullanılırsa buffer‘daki veri çerçeve arabelleğine kopyalanır. Bir JPEG bytes() veya bytearray() nesnesinden bir JPEG görüntü oluşturmak isterseniz, JPEG için width, height, image.JPEG değerlerini geçirip buffer‘ı JPEG bayt akışına ayarlayarak bir JPEG görüntü oluşturabilirsiniz.

Görüntüler “[]” gösterimini destekler. Bir görüntü pikseli atamak için image[index] = 8/16-bit value veya bir görüntü pikseli almak için image[index] yapın; bu, grayscale/bayer görüntüler için 8 bitlik bir değer ya da RGB565/YUV görüntüler için 16 bitlik bir değer olacaktır. İkili görüntüler 1 bitlik bir değer döndürür.

JPEG görüntüler için “[]” sıkıştırılmış JPEG görüntü blob’una bir bayt dizisi olarak erişmenizi sağlar. Ancak JPEG görüntüler sıkıştırılmış bayt akışları olduğundan, veri dizisine okuma ve yazma opaktır.

Görüntüler ayrıca okuma arabelleği işlemlerini de destekler. Görüntüleri, sanki bir bayt dizisi nesnesiymiş gibi her türlü MicroPython işlevine geçirebilirsiniz. Özellikle, bir görüntüyü iletmek isterseniz, otomatik olarak iletilmesi için onu UART/SPI/I2C yazma işlevlerine geçirebilirsiniz.

Temel Yöntemler

width() int

Görüntü genişliğini piksel cinsinden döndürür.

height() int

Görüntü yüksekliğini piksel cinsinden döndürür.

format() int

Grayscale görüntüler için image.GRAYSCALE, RGB565 görüntüler için image.RGB565, bayer desenli görüntüler için image.BAYER ve JPEG görüntüler için image.JPEG döndürür.

size() int

Görüntü boyutunu bayt cinsinden döndürür.

bytearray() bytearray

Bayt düzeyinde okuma/yazma erişimi için görüntü verilerine işaret eden bir bytearray nesnesi döndürür.

Not

Görüntü nesneleri, bir bytes benzeri nesne gerektiren bir MicroPython sürücüsüne geçirildiğinde otomatik olarak bytes nesnesi olarak dönüştürülür. Bu salt okunur bir erişimdir. Okuma/yazma erişimi almak için bytearray() çağırın.

get_pixel(x: int, y: int, rgbtuple: bool | None = None) int | Tuple[int, int, int]

Grayscale görüntüler için: (x, y) konumundaki grayscale piksel değerini döndürür. RGB565 görüntüler için: (x, y) konumundaki RGB888 piksel demetini (r, g, b) döndürür. Bayer desenli görüntüler için: (x, y) konumundaki piksel değerini döndürür.

x veya y görüntünün dışındaysa None döndürür.

x ve y bağımsız olarak ya da bir demet olarak geçirilebilir.

rgbtuple True ise bu yöntem bir RGB888 demeti döndürür. Aksi takdirde bu yöntem, altta yatan pikselin tamsayı değerini döndürür. Yani RGB565 görüntüler için bu yöntem bir RGB565 değeri döndürür. RGB565 görüntüler için varsayılan olarak True, diğerleri için False’tur.

Sıkıştırılmış görüntülerde desteklenmez.

Not

Image.get_pixel() ve Image.set_pixel(), bayer desenli görüntüleri değiştirmenize izin veren tek yöntemlerdir. Bayer desenli görüntüler, çift satırlar için piksellerin R/G/R/G/vb. ve tek satırlar için G/B/G/B/vb. olduğu birebir görüntülerdir. Her piksel 8 bittir. Bu yöntemi rgbtuple ayarlanmış olarak çağırırsanız, Image.get_pixel() kaynak görüntüyü o piksel konumunda debayer eder ve o piksel konumu için geçerli bir RGB888 demeti döndürür.

set_pixel(x: int, y: int, pixel: int | Tuple[int, int, int]) Image

Grayscale görüntüler için: (x, y) konumundaki pikseli pixel grayscale değerine ayarlar. RGB565 görüntüler için: (x, y) konumundaki pikseli pixel RGB888 demetine (r, g, b) ayarlar. Bayer desenli görüntüler için: (x, y) konumundaki piksel değerini pixel değerine ayarlar.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

x ve y bağımsız olarak ya da bir demet olarak geçirilebilir.

pixel ya bir RGB888 demeti (r, g, b) ya da altta yatan piksel değeri olabilir (yani RGB565 görüntüler için bir RGB565 değeri veya grayscale görüntüler için bir 8 bitlik değer).

Sıkıştırılmış görüntülerde desteklenmez.

Not

Image.get_pixel() ve Image.set_pixel(), bayer desenli görüntüleri değiştirmenize izin veren tek yöntemlerdir. Bayer desenli görüntüler, çift satırlar için piksellerin R/G/R/G/vb. ve tek satırlar için G/B/G/B/vb. olduğu birebir görüntülerdir. Her piksel 8 bittir. Bu yöntemi bir RGB888 demeti ile çağırırsanız, o RGB888 demetinin grayscale değeri çıkarılır ve piksel konumuna ayarlanır.

Dönüştürme Yöntemleri

to_ndarray(dtype: str, buffer: bytes | bytearray | memoryview | None = None) ndarray

Görüntüden oluşturulan bir ndarray nesnesi döndürür. Bu şu anda yalnızca GRAYSCALE veya RGB565 görüntüler için çalışır.

dtype, işaretli 8 bit, işaretsiz 8 bit veya 32 bit kayan noktalı bir ndarray oluşturmak için b, B veya f olabilir. GRAYSCALE görüntüler doğrudan işaretsiz 8 bit ndarray nesnelerine dönüştürülür. İşaretli 8 bit ndarray nesneleri için (0:255) değerleri (-127:128) aralığına eşlenir. Float 32 bit ndarray nesneleri için değerler (0.0:255.0) aralığına eşlenir. RGB565 görüntüler 3 kanallı ndarray nesnelerine dönüştürülür ve GRAYSCALE görüntüler için yukarıda açıklanan aynı işlem dtype‘a bağlı olarak her kanala uygulanır. dtype‘ın ayrıca b, B ve f‘nin sırasıyla tamsayı değerlerini (örneğin ord()) de kabul ettiğini unutmayın.

buffer None değilse, ndarray için arabellek olarak kullanılacak bir bytearray nesnesidir. None ise ndarray görüntü verilerini depolamak için yığında yeni bir arabellek ayrılır. Bir yığın ayırması ve bir kopyalama işlemini ortadan kaldırarak ndarray‘i önceden ayrılmış bir arabellekte doğrudan ayırmak için buffer argümanını kullanabilirsiniz.

Döndürülen ndarray, GRAYSCALE görüntüler için (height, width) ve RGB565 görüntüler için (height, width, 3) şekline sahiptir.

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

Bir görüntüyü bir bitmap görüntüsüne dönüştürür (piksel başına 1 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Not

Bitmap görüntüler, yalnızca iki piksel değerine sahip grayscale görüntüler gibidir - 0 ve 1. Ayrıca, bitmap görüntüler piksel başına yalnızca 1 bit depolayacak şekilde paketlenir, bu da onları çok küçük yapar. OpenMV görüntü kitaplığı, bitmap görüntülerin sensor.GRAYSCALE ve sensor.RGB565 görüntülerin kullanılabildiği tüm yerlerde kullanılmasına olanak tanır. Ancak, bitmap görüntüler yalnızca 2 değere sahip olduğundan, bitmap görüntülere uygulandığında birçok işlem hiçbir anlam ifade etmez. OpenMV, MicroPython yığınına oldukça kolay sığdıklarından, işlemlerde mask değerleri vb. için bitmap görüntülerin kullanılmasını önerir. Son olarak, bitmap görüntü piksel değerleri 0 ve 1, sensor.GRAYSCALE veya sensor.RGB565 görüntülere uygulandığında siyah ve beyaz olarak yorumlanır. Kitaplık dönüşümü otomatik olarak işler.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü grayscale görüntüye dönüştürür (piksel başına 8 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü RGB565 görüntüye dönüştürür (piksel başına 16 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü RGB565 gökkuşağı görüntüye dönüştürür (piksel başına 16 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü RGB565 ironbow görüntüye dönüştürür (piksel başına 16 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü RGB565 Derinlik Görüntüsüne dönüştürür (piksel başına 16 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak image.PALETTE_DEPTH veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü RGB565 Karanlık Olay Görüntüsüne dönüştürür (piksel başına 16 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü RGB565 Aydınlık Olay Görüntüsüne dönüştürür (piksel başına 16 bit).

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü JPEG görüntüye dönüştürür.

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

quality, jpeg görüntü sıkıştırma kalitesini denetler. Değer 0 ile 100 arasında olabilir.

subsampling şunlar olabilir:

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü PNG görüntüye dönüştürür.

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Bir görüntüyü JPEG görüntüye dönüştürür.

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

quality, jpeg görüntü sıkıştırma kalitesini denetler. Değer 0 ile 100 arasında olabilir.

subsampling şunlar olabilir:

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Not

Image.compress, Image.to_jpeg için bir takma addır.

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

Görüntü nesnesinin derin bir kopyasını oluşturur.

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Altta yatan görüntü türünü değiştirmeden bir görüntüyü yerinde değiştirir.

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Altta yatan görüntü türünü değiştirmeden bir görüntüyü yerinde değiştirir.

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyen image.BLACK_BACKGROUND hariç).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

copy True ise, orijinal görüntüyü yerinde dönüştürmek yerine dönüştürülmüş görüntünün yığında derin bir kopyasını oluşturur.

copy_to_fb True ise görüntü doğrudan çerçeve arabelleğine yüklenir. copy_to_fb, copy‘ye göre önceliklidir. Görüntü zaten çerçeve arabelleğindeyse bunun özel bir etkisi yoktur.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Not

Image.scale, Image.crop için bir takma addır.

save(path: str, roi: Tuple[int, int, int, int] | None = None, quality: int = 50) Image

Görüntünün bir kopyasını dosya sistemine path konumuna kaydeder.

bmp/pgm/ppm/jpg/jpeg görüntü dosyalarını destekler. jpeg sıkıştırılmış görüntüleri sıkıştırılmamış bir formata kaydedemeyeceğinizi unutmayın.

roi, kaydedilecek ilgi bölgesi dikdörtgenidir (x, y, w, h). Belirtilmezse, tüm görüntüyü kopyalayan görüntü dikdörtgenine eşittir. Bu argüman JPEG görüntüler için geçerli değildir.

quality, görüntü zaten sıkıştırılmamışsa görüntüyü jpeg formatında kaydetmek için kullanılacak jpeg sıkıştırma kalitesidir (0-100) (int).

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

flush() None

IDE’deki çerçeve arabelleğini kameradaki çerçeve arabelleğinde bulunan görüntüyle günceller.

Çizim Yöntemleri

clear(mask: Image | None = None) Image

Görüntüdeki tüm pikselleri sıfıra ayarlar (çok hızlı).

mask, işlem için piksel düzeyinde bir maske olarak kullanılacak başka bir görüntüdür. Maske, yalnızca siyah veya beyaz piksellere sahip bir görüntü olmalı ve üzerinde işlem yapılan görüntüyle aynı boyutta olmalıdır. Yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde desteklenmez.

draw_line(x0: int, y0: int, x1: int, y1: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1) Image

Görüntü üzerinde (x0, y0)’dan (x1, y1)’e bir çizgi çizer. x0, y0, x1, y1’i ayrı ayrı veya bir demet (x0, y0, x1, y1) olarak geçirebilirsiniz.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

thickness, çizginin piksel cinsinden ne kadar kalın olduğunu denetler.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Görüntü üzerinde bir dikdörtgen çizer. x, y, w, h’yi ayrı ayrı veya bir demet (x, y, w, h) olarak geçirebilirsiniz.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

thickness, çizgilerin piksel cinsinden ne kadar kalın olduğunu denetler.

Dikdörtgeni doldurmak için fill‘i True olarak geçirin.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

draw_circle(x: int, y: int, radius: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1, fill: bool = False) Image

Görüntü üzerinde bir daire çizer. x, y, radius’u ayrı ayrı veya bir demet (x, y, radius) olarak geçirebilirsiniz.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

thickness, kenarların piksel cinsinden ne kadar kalın olduğunu denetler.

Daireyi doldurmak için fill‘i True olarak geçirin.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Görüntü üzerinde bir elips çizer. cx, cy, rx, ry ve dönüşü (derece cinsinden) ayrı ayrı veya bir demet (cx, yc, rx, ry, rotation) olarak geçirebilirsiniz.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

thickness, kenarların piksel cinsinden ne kadar kalın olduğunu denetler.

Elipsi doldurmak için fill‘i True olarak geçirin.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Görüntüde (x, y) konumundan başlayarak 8x10 metin çizer. x, y’yi ayrı ayrı veya bir demet (x, y) olarak geçirebilirsiniz.

text, görüntüye yazılacak bir dizedir. \n, \r ve \r\n satır sonları imleci bir sonraki satıra taşır.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

scale, görüntüdeki metnin boyutunu artırmak/azaltmak için artırılabilir. 0’dan büyük tamsayı veya kayan nokta değerleri geçirebilirsiniz.

x_spacing, karakterler arasına x piksel eklemenize (pozitifse) veya çıkarmanıza (negatifse) olanak tanır.

y_spacing, karakterler arasına y piksel eklemenize (pozitifse) veya çıkarmanıza (negatifse) olanak tanır (çok satırlı metin için).

mono_space varsayılan olarak True’dur ve bu metni sabit aralıklı olmaya zorlar. Büyük metin ölçekleri için bu berbat görünür. Çok DAHA iyi görünen sabit olmayan genişlikte karakter aralığı elde etmek için False olarak ayarlayın.

char_rotation, dizedeki her karakteri bu miktarda döndürmek için 0, 90, 180, 270 olabilir.

char_hmirror True ise dizedeki tüm karakterleri yatay olarak yansıtır.

char_vflip True ise dizedeki tüm karakterleri dikey olarak çevirir.

string_rotation, dizeyi bu miktarda döndürmek için 0, 90, 180, 270 olabilir.

string_hmirror True ise dizeyi yatay olarak yansıtır.

string_vflip True ise dizeyi dikey olarak çevirir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

draw_cross(x: int, y: int, color: int | Tuple[int, int, int] | None = None, size: int = 5, thickness: int = 1) Image

x, y konumunda bir artı işareti çizer. x, y’yi ayrı ayrı veya bir demet (x, y) olarak geçirebilirsiniz.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

size, artı işaretinin çizgilerinin ne kadar uzandığını denetler.

thickness, kenarların piksel cinsinden ne kadar kalın olduğunu denetler.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

draw_arrow(x0: int, y0: int, x1: int, y1: int, color: int | Tuple[int, int, int] | None = None, thickness: int = 1) Image

Görüntü üzerinde (x0, y0)’dan (x1, y1)’e bir ok çizer. x0, y0, x1, y1’i ayrı ayrı veya bir demet (x0, y0, x1, y1) olarak geçirebilirsiniz.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

thickness, çizginin piksel cinsinden ne kadar kalın olduğunu denetler.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Görüntü üzerine bir tespit sonucu çizer. detection, bir sınırlayıcı dikdörtgeni ve bir ağırlık merkezini tanımlayan 6’lı bir demettir (rx, ry, rw, rh, cx, cy) (tipik olarak NN veya renk izleme kodu tarafından döndürülür).

color1 dikdörtgen rengidir ve color2 ağırlık merkezi artı işaretinin rengidir. size ağırlık merkezi artı işaretinin boyutu, thickness ana hat genişliğini denetler ve fill dikdörtgeni doldurur.

label sağlanırsa dikdörtgenin yakınına, label_offset (x, y) kadar kaydırılarak çizilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

blob.corners gibi yöntemler tarafından döndürülen bir köşe listesi arasına çizgi kenarları çizer. Köşeler, iki değerli x/y demetlerinden oluşan dört değerli bir demettir. Örneğin [(x1,y1),(x2,y2),(x3,y3),(x4,y4)].

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

size 0’dan büyükse köşelerin size yarıçaplı daireler olarak çizilmesine neden olur.

thickness, çizginin piksel cinsinden ne kadar kalın olduğunu denetler.

Çizilirse köşe dairelerini doldurmak için fill‘i True olarak geçirin.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Sol üst köşesi x, y konumundan başlayan bir image çizer. x, y’yi ayrı ayrı veya bir demet (x, y) olarak geçirebilirsiniz. Bu yöntem, geçirilen görüntüyü hedef görüntü için doğru piksel formatına işlemeyi otomatik olarak işlerken kırpmayı da sorunsuz bir şekilde işler.

Bu yöntemin görüntüyü diskten otomatik olarak yükleyip tek adımda kullanması için bir görüntü nesnesi yerine bir yol da geçirebilirsiniz. Örneğin draw_image("test.jpg").

x_scale, görüntülenen görüntünün x yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü yatay olarak çevrilir. y_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

y_scale, görüntülenen görüntünün y yönünde ne kadar ölçekleneceğini denetler (float). Bu değer negatifse görüntü dikey olarak çevrilir. x_scale belirtilmezse en boy oranını korumak için x_scale ile eşleşeceğini unutmayın.

roi, çizilecek kaynak görüntünün ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Bu, yalnızca ROI içindeki pikselleri çıkararak hedef görüntü üzerinde ölçeklemenize ve çizmenize olanak tanır.

rgb_channel, bir RGB565 görüntüden (geçirilirse) çıkarılacak ve hedef görüntü üzerine işlenecek RGB kanalıdır (0=R, G=1, B=2). Örneğin, rgb_channel=1 geçirirseniz bu, kaynak RGB565 görüntünün yeşil kanalını çıkarır ve onu hedef görüntü üzerine grayscale olarak çizer.

alpha, kaynak görüntünün ne kadarının hedef görüntüye harmanlanacağını denetler. 255 değeri opak bir kaynak görüntü çizer, 255’ten düşük bir değer ise kaynak ve hedef görüntü arasında bir harmanlama üretir. 0, hedef görüntüde hiçbir değişiklik yapılmamasıyla sonuçlanır.

color_palette None değilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacak bir renk paleti enum’u veya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

alpha_palette None değilse, çizilen kaynak görüntünün alpha değerini piksel düzeyinde modüle eden bir alfa paleti olarak kullanılacak toplam 256 pikselden oluşan bir GRAYSCALE görüntü olabilir; bu, piksellerin alfa değerini grayscale değerlerine göre hassas bir şekilde denetlemenize olanak tanır. Alfa arama tablosundaki 255 piksel değeri opaktır, 255’ten az olan her şey 0’a kadar daha saydam hale gelir. Bu, kullanılırsa rgb_channel çıkarmasından sonra uygulanır.

hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenen image.BLACK_BACKGROUND dahil).

transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3 ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

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

Görüntü üzerine bir keypoints nesnesinin anahtar noktalarını çizer. Belirli bir yönü gösteren bir çizgiye sahip bir daire olan anahtar nokta glifleri çizmek için bu yöntemi yeniden kullanmak amacıyla (x, y, rotation_angle_in_degrees) içeren üç değerli demetlerden oluşan bir liste de geçirebilirsiniz.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

size, anahtar noktaların ne kadar büyük olduğunu denetler.

thickness, çizginin piksel cinsinden ne kadar kalın olduğunu denetler.

Anahtar noktaları doldurmak için fill‘i True olarak geçirin.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Görüntünün bir bölgesini x, y konumundan başlayarak taşma doldurması (flood fill) ile doldurur. x, y’yi ayrı ayrı veya bir demet (x, y) olarak geçirebilirsiniz.

seed_threshold, doldurma alanındaki herhangi bir pikselin orijinal başlangıç pikselinden ne kadar farklı olabileceğini denetler.

floating_threshold, doldurma alanındaki herhangi bir pikselin komşu piksellerden ne kadar farklı olabileceğini denetler.

color, Grayscale veya RGB565 görüntüler için bir RGB888 demetidir. Varsayılan olarak beyazdır. Ancak grayscale görüntüler için altta yatan piksel değerini (0-255) veya RGB565 görüntüler için bir RGB565 değeri de geçirebilirsiniz.

Taşma doldurmasıyla bağlı alanın dışındaki her şeyi yeniden renklendirmek için invert‘i True olarak geçirin.

Taşma doldurmasının yeniden renklendirmediği piksellerin geri kalanını sıfırlamak için clear_background‘ü True olarak geçirin.

mask, işlem için piksel düzeyinde bir maske olarak kullanılacak başka bir görüntüdür. Maske, yalnızca siyah veya beyaz piksellere sahip bir görüntü olmalı ve üzerinde işlem yapılan görüntüyle aynı boyutta olmalıdır. Taşma doldurması yapılırken yalnızca maskede ayarlanmış pikseller değerlendirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

draw_event_histogram(array: ndarray, clear: bool = True, brightness: int = 128, contrast: int = 16) Image

Görselleştirme için bir olay ndarray’ini (csi.IOCTL_GENX320_READ_EVENTS tarafından doldurulduğu gibi) bir Image üzerine rasterleştirir. Görüntü arabelleği 320x320 GRAYSCALE bir görüntü olmalıdır.

Her csi.PIX_ON_EVENT satırı için olayın pikseline +contrast eklenir; her csi.PIX_OFF_EVENT satırı için piksele -contrast uygulanır. Tetikleme olayları yok sayılır. Piksel değerleri 0-255 aralığına kıstırılır.

clear True ise çizimden önce görüntü arabelleğini brightness değerine sıfırlar — her çerçeve yalnızca olaylardan oluşan taze bir render haline gelir. Olayları birden fazla çağrı boyunca biriktirmek için False olarak ayarlayın (uzun pozlamalı hareket izleri için kullanışlıdır).

brightness, clear True olduğunda arabelleğin sıfırlandığı orta gri taban çizgisini denetler. Varsayılan 128, ON olaylarını aydınlık uca ve OFF olaylarını karanlık uca eşit boşlukla yerleştirir.

contrast, her olayın pikselini ne kadar kaydırdığını denetler — daha yüksek değerler olayların öne çıkmasını sağlar, ancak aynı piksele birçok olay düştüğünde hızla doygunluğa ulaşma pahasına.

Maskeleme Yöntemleri

mask_rectangle(x: int, y: int, w: int, h: int) Image

Görüntünün dikdörtgen bir kısmını sıfırlar. Hiçbir argüman sağlanmazsa bu yöntem görüntünün merkezini sıfırlar.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

mask_circle(x: int, y: int, radius: int) Image

Görüntünün dairesel bir kısmını sıfırlar. Hiçbir argüman sağlanmazsa bu yöntem görüntünün merkezini sıfırlar.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

mask_ellipse(x: int, y: int, radius_x: int, radius_y: int, rotation_angle_in_degrees: int) Image

Görüntünün elips şeklindeki bir kısmını sıfırlar. Hiçbir argüman sağlanmazsa bu yöntem görüntünün merkezini sıfırlar.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

İkili Yöntemler

binary(thresholds: List[Tuple[int, int]], invert: bool = False, zero: bool = False, mask: Image | None = None, to_bitmap: bool = False, copy: bool = False) Image

Her pikselin thresholds içindeki eşik demetlerinden birinin içinde olup olmamasına bağlı olarak görüntüdeki tüm pikselleri siyah veya beyaz olarak ayarlar.

thresholds, grayscale görüntüler için (lo, hi) demetlerinden veya RGB565 görüntüler için (l_lo, l_hi, a_lo, a_hi, b_lo, b_hi) demetlerinden oluşan bir listedir. Değiştirilmiş min/max değerleri otomatik olarak düzeltilir; eksik bileşenler varsayılan olarak maksimum aralığa ayarlanır.

invert, eşik eşleştirmesini tersine çevirir.

zero True ise eşiklenen pikselleri sıfırlar ve diğerlerine dokunmaz.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

to_bitmap True ise görüntü verilerini piksel başına 1 bitlik bir bitmap’e dönüştürür. Çok küçük görüntüler için bu copy=True gerektirebilir.

copy True ise kaynak görüntüyü değiştirmek yerine yığında yeni bir görüntü döndürür.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

invert() Image

Görüntüdeki tüm piksel değerlerini tersine çevirir (her piksel 8 bitlik kanallar için 255 - pixel olur).

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

b_and(image: Image, mask: Image | None = None) Image

Bu görüntüyü başka bir görüntüyle mantıksal olarak AND’ler.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

b_nand(image: Image, mask: Image | None = None) Image

Bu görüntüyü başka bir görüntüyle mantıksal olarak NAND’ler.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

b_or(image: Image, mask: Image | None = None) Image

Bu görüntüyü başka bir görüntüyle mantıksal olarak OR’lar.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

b_nor(image: Image, mask: Image | None = None) Image

Bu görüntüyü başka bir görüntüyle mantıksal olarak NOR’lar.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

b_xor(image: Image, mask: Image | None = None) Image

Bu görüntüyü başka bir görüntüyle mantıksal olarak XOR’lar.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

b_xnor(image: Image, mask: Image | None = None) Image

Bu görüntüyü başka bir görüntüyle mantıksal olarak XNOR’lar.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

ISP Yöntemleri

awb(max: bool = False) Image

Gri-dünya algoritmasını kullanarak görüntü üzerinde otomatik beyaz dengesi gerçekleştirir. RAW Bayer veya RGB565 görüntüler üzerinde çalışır. İkili/grayscale görüntülerde etkisi yoktur.

max True ise bunun yerine beyaz-yama algoritmasını kullanır.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış veya yuv görüntülerde desteklenmez.

ccm(matrix: List[List[float]]) Image

Geçirilen kayan noktalı renk düzeltme matrisini görüntüyle çarpar. Matrisler iç içe liste veya düz liste biçiminde 3x3 veya 3x4 (kaydırma sütunu ile) olabilir:

[[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]

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

gamma(gamma: float = 1.0, contrast: float = 1.0, brightness: float = 0.0) Image

Görüntü gamasını, kontrastını ve parlaklığını ayarlar.

gamma, normalleştirmeden sonra pow(pixel, 1/gamma) uygular. 1.0’dan büyük değerler aydınlatır; 1.0’dan küçük değerler karartır.

contrast, normalleştirmeden sonra pixel * contrast uygular.

brightness, normalleştirmeden sonra pixel + brightness uygular.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış veya bayer/yuv görüntülerde desteklenmez.

gamma_corr(gamma: float = 1.0, contrast: float = 1.0, brightness: float = 0.0) Image

Image.gamma için takma ad.

Matematik Yöntemleri

negate() Image

Image.invert için takma ad.

replace(image: Image | None = None, **kwargs) Image

Image.draw_image() için takma ad. Standart draw_image anahtar sözcük argümanlarını kullanarak bu görüntüyü image ile değiştirir (veya image atlanırsa bu görüntüyü yerinde dönüştürür). transform argümanı, bir perspektif dönüşümünü tanımlayan 3x3 bir ndarray‘dir (yalnızca ULAB etkin OpenMV kameralarında desteklenir).

assign(image: Image | None = None, **kwargs) Image

Image.replace() için takma ad.

set(image: Image | None = None, **kwargs) Image

Image.replace() için takma ad.

add(image: Image, mask: Image | None = None) Image

Bir görüntüyü piksel bazında buna ekler.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

sub(image: Image, mask: Image | None = None) Image

image‘i bu görüntüden piksel bazında çıkarır (self - image).

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Bu yöntem ayrıca Image.draw_image() anahtar sözcük argümanlarının tüm kümesini de kabul eder (x, y, x_scale, y_scale, roi, rgb_channel, alpha, color_palette, alpha_palette, hint, transform).

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

rsub(image: Image, mask: Image | None = None) Image

Ters çıkarma: bu görüntüyü piksel bazında image - self ile değiştirir. Bunun dışında Image.sub() ile aynıdır.

min(image: Image, mask: Image | None = None) Image

İki görüntünün piksel bazında minimum görüntüsünü döndürür.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

max(image: Image, mask: Image | None = None) Image

İki görüntünün piksel bazında maksimum görüntüsünü döndürür.

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

difference(image: Image, mask: Image | None = None) Image

İki görüntü arasındaki mutlak fark görüntüsünü döndürür (örneğin ||a-b||).

image bir görüntü nesnesi, sıkıştırılmamış bir görüntü dosyasının (bmp/pgm/ppm) yolu veya bir skaler değer (RGB888 demeti ya da altta yatan piksel değeri) olabilir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

blend(image: Image, x: int = 0, y: int = 0, alpha: int = 128, mask: Image | None = None, **kwargs) Image

Image.draw_image() için takma ad. image‘i bu görüntüye alfa harmanlar. alpha 0-256 arası bir tamsayıdır; 256’ya yakın değerler kaynak görüntüyü öne çıkarır. Tüm Image.draw_image() anahtar sözcük argümanlarını kabul eder.

histeq(adaptive: bool = False, clip_limit: float = -1, mask: Image | None = None) Image

Kontrastı ve parlaklığı normalleştirmek için görüntü üzerinde histogram eşitleme çalıştırır.

adaptive True ise uyarlamalı histogram eşitleme çalıştırır (daha yavaş ama genellikle daha iyi).

clip_limit, uyarlamalı varyantta kontrastı sınırlar (10 gibi küçük bir değer iyi CLAHE sonuçları üretir).

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

Filtreleme Yöntemleri

erode(size: int, threshold: int | None = None, mask: Image | None = None) Image

Bölütlenmiş alanların kenarlarından pikselleri kaldırır. Görüntü üzerinde bir ((size*2)+1)x((size*2)+1) çekirdeği evrişimle gezdirir ve threshold‘dan fazla komşu boşsa merkez pikseli temizler (threshold None ise standart erozyon görevi görür).

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

dilate(size: int, threshold: int | None = None, mask: Image | None = None) Image

Bölütlenmiş alanların kenarlarına pikseller ekler. Görüntü üzerinde bir ((size*2)+1)x((size*2)+1) çekirdeği evrişimle gezdirir ve threshold‘dan fazla komşu ayarlanmışsa merkez pikseli ayarlar (threshold None ise standart genişletme görevi görür).

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

open(size: int, threshold: int | None = None, mask: Image | None = None) Image

Önce erozyon, sonra genişletme gerçekleştirir. Image.erode() ve Image.dilate()‘e bakın.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

close(size: int, threshold: int | None = None, mask: Image | None = None) Image

Önce genişletme, sonra erozyon gerçekleştirir. Image.dilate() ve Image.erode()‘a bakın.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

top_hat(size: int, threshold: int | None = None, mask: Image | None = None) Image

Görüntünün ve Image.open() uygulanmış görüntünün görüntü farkını döndürür.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

black_hat(size: int, threshold: int | None = None, mask: Image | None = None) Image

Görüntünün ve Image.close() uygulanmış görüntünün görüntü farkını döndürür.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

mean(size: int, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image

Bir kutu filtresi kullanan standart ortalama bulanıklaştırma filtresi.

size çekirdek boyutudur. 1 (3x3 çekirdek), 2 (5x5 çekirdek) vb. kullanın.

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

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

Görüntü üzerinde bir yüzdelik filtre çalıştırır (varsayılan olarak medyan).

size çekirdek boyutudur. 1 (3x3 çekirdek), 2 (5x5 çekirdek) vb. kullanın.

percentile, her çekirdekten seçilecek yüzdeliktir (0 = min, 0.5 = medyan, 1.0 = max). Varsayılan 0.5’tir.

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

mode(size: int, threshold: bool | None = False, offset: int | None = 0, invert: bool | None = False, mask: Image | None = None) Image

Her pikseli komşularının modu ile değiştirir. Doğrusal olmayan işlem nedeniyle RGB görüntü kenarlarında bozulmalar üretebilir.

size çekirdek boyutudur. 1 (3x3 çekirdek), 2 (5x5 çekirdek) vb. kullanın.

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

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

Görüntü üzerinde orta nokta filtresini çalıştırır. Bu filtre, görüntüdeki her piksel komşuluğunun orta noktasını ((max-min)/2) bulur.

size çekirdek boyutudur. 1 (3x3 çekirdek), 2 (5x5 çekirdek) vb. kullanın.

bias, min/max karışımını denetler. Yalnızca min filtreleme için 0, yalnızca max filtreleme için 1.0. bias kullanarak görüntüyü min/max filtreleyebilirsiniz.

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

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

Görüntüyü rastgele bir filtre çekirdeğiyle evrişimler.

size, ((size*2)+1)x((size*2)+1) öğe olması gereken çekirdek boyutunu denetler.

kernel, evrişim yapılacak çekirdektir; ((size*2)+1)*((size*2)+1) öğeden oluşan düz bir 1B liste/demet olarak veya ((size*2)+1) öğeden oluşan ((size*2)+1) satırlı bir 2B liste/demet olarak.

mul çarpımsal bir kontrast ölçeğidir (varsayılan 1.0).

add toplamsal bir parlaklık kaydırmasıdır (varsayılan 0.0).

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

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

Görüntüyü bir yumuşatma gauss çekirdeğiyle evrişimler.

size çekirdek boyutudur. 1 (3x3 çekirdek), 2 (5x5 çekirdek) vb. kullanın.

unsharp True ise düz bir gauss yerine bir unsharp mask işlemi (kenarları keskinleştirir) gerçekleştirir.

mul çarpımsal bir kontrast ölçeğidir (varsayılan 1.0).

add toplamsal bir parlaklık kaydırmasıdır (varsayılan 0.0).

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

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

Görüntüyü bir kenar algılayan laplacian çekirdeğiyle evrişimler.

size çekirdek boyutudur. 1 (3x3 çekirdek), 2 (5x5 çekirdek) vb. kullanın.

sharpen True ise ham eşiklenmemiş kenar yanıtını çıktılamak yerine görüntüyü keskinleştirir.

mul çarpımsal bir kontrast ölçeğidir (varsayılan 1.0).

add toplamsal bir parlaklık kaydırmasıdır (varsayılan 0.0).

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

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

Görüntüyü bir çift taraflı filtreyle (kenar koruyan yumuşatma) evrişimler.

size çekirdek boyutudur. 1 (3x3 çekirdek), 2 (5x5 çekirdek) vb. kullanın.

color_sigma, renk eşleştirme toleransını denetler; daha büyük değerler daha fazla renk bulanıklığı üretir.

space_sigma, uzamsal bulanıklaştırmayı denetler; daha büyük değerler daha fazla piksel bulanıklığı üretir.

threshold True ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler. offset ikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar). invert ikili çıktıyı tersine çevirir.

mask, piksel düzeyinde bir maske olarak kullanılan bir ikili görüntüdür; yalnızca maskede ayarlanmış pikseller değiştirilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer/yuv görüntülerde desteklenmez.

Geometrik Yöntemler

linpolar(reverse: bool = False, *, x: int | None = None, y: int | None = None) Image

Bir görüntüyü Kartezyen koordinatlardan doğrusal kutupsal koordinatlara yeniden projeksiyonlar.

Ters yönde yeniden projeksiyon yapmak için reverse=True ayarlayın.

x ve y, dönüşümün merkez koordinatını görüntü pikselleri cinsinden belirtir. x None ise (varsayılan) görüntü genişliğinin yarısına ayarlanır; benzer şekilde y varsayılan olarak görüntü yüksekliğinin yarısına ayarlanır.

Doğrusal kutupsal yeniden projeksiyon, bir görüntünün dönüşünü x ötelemesine dönüştürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

logpolar(reverse: bool = False, *, x: int | None = None, y: int | None = None) Image

Bir görüntüyü Kartezyen koordinatlardan logaritmik kutupsal koordinatlara yeniden projeksiyonlar.

Ters yönde yeniden projeksiyon yapmak için reverse=True ayarlayın.

x ve y, dönüşümün merkez koordinatını görüntü pikselleri cinsinden belirtir. x None ise (varsayılan) görüntü genişliğinin yarısına ayarlanır; benzer şekilde y varsayılan olarak görüntü yüksekliğinin yarısına ayarlanır.

Logaritmik kutupsal yeniden projeksiyon, bir görüntünün dönüşünü x ötelemesine ve ölçekleme/yakınlaştırmayı y ötelemesine dönüştürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

lens_corr(strength: float = 1.8, zoom: float = 1.0, x_corr: float = 0.0, y_corr: float = 0.0) Image

Lens bozulması nedeniyle görüntüyü balık gözü etkisinden arındırmak için lens düzeltmesi gerçekleştirir.

strength, görüntüyü ne kadar balık gözünden arındıracağını tanımlayan bir float’tır. Varsayılan olarak 1.8’i deneyin ve ardından görüntü iyi görünene kadar oradan artırın veya azaltın.

zoom, görüntüye yakınlaştırma miktarıdır. Varsayılan olarak 1.0.

x_corr, merkezden kayan noktalı piksel ötelemesidir. Negatif veya pozitif olabilir.

y_corr, merkezden kayan noktalı piksel ötelemesidir. Negatif veya pozitif olabilir.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Çerçeve arabelleğinin 3B döndürmesini yaparak görüntüdeki perspektif sorunlarını düzeltir.

x_rotation, çerçeve arabelleğindeki görüntünün x ekseni etrafında döndürüleceği derece sayısıdır (yani bu, görüntüyü yukarı ve aşağı döndürür).

y_rotation, çerçeve arabelleğindeki görüntünün y ekseni etrafında döndürüleceği derece sayısıdır (yani bu, görüntüyü sola ve sağa döndürür).

z_rotation, çerçeve arabelleğindeki görüntünün z ekseni etrafında döndürüleceği derece sayısıdır (yani bu, görüntüyü yerinde döndürür).

x_translation, döndürmeden sonra görüntüyü sola veya sağa taşıma birim sayısıdır. Bu öteleme 3B uzayda uygulandığından birimler piksel değildir…

y_translation, döndürmeden sonra görüntüyü yukarı veya aşağı taşıma birim sayısıdır. Bu öteleme 3B uzayda uygulandığından birimler piksel değildir…

zoom, görüntüye yakınlaştırma miktarıdır. Varsayılan olarak 1.0.

fov, dahili 2B->3B projeksiyon için kullanılan görüş alanıdır. fov 0’a yaklaştıkça görüntü sonsuza yerleştirilir; 180’e yaklaştıkça görüntü görüntü alanı içine yerleştirilir.

corners, 3B döndürmeyi uygulamadan önce köşeleri (0, 0), (image_width-1, 0), (image_width-1, image_height-1) ve (0, image_height-1) konumlarına eşleyen 4 noktalı bir homografi oluşturmak için kullanılan dört (x, y) demetinden oluşan bir listedir. Kuş bakışı görünüm dönüşümleri için kullanışlıdır.

Başka bir yöntemi . gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

Get Yöntemleri

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

Yapısal Benzerlik İndeksini (SSIM) kullanarak iki görüntü arasındaki benzerliği hesaplar. SSIM, -1 (zıt) ile 1 (özdeş) arasında değişir. Bir image.similarity nesnesi döndürür.

image, karşılaştırılacak görüntüdür (bir görüntü nesnesi veya bir yol dizesi, örneğin "test.jpg").

x, y, x_scale, y_scale, roi, rgb_channel, alpha, color_palette, alpha_palette, hint ve transform, Image.draw_image() ile aynı değerleri kabul eder.

dssim True ise bunun yerine Yapısal Farklılık İndeksini (DSSIM) döndürür; burada 0 özdeş, 1 ise tamamen farklı anlamına gelir.

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

Bir roi için tüm renk kanallarında normalleştirilmiş histogramı hesaplar ve bir image.histogram nesnesi döndürür. Image.get_hist() veya Image.histogram() olarak da kullanılabilir.

thresholds, grayscale görüntüler için (lo, hi) demetlerinden veya RGB565 görüntüler için (l_lo, l_hi, a_lo, a_hi, b_lo, b_hi) demetlerinden oluşan bir listedir. Geçirilirse, histogram yalnızca eşikler içindeki pikseller üzerinden hesaplanır.

invert, eşik eşleştirmesini tersine çevirir.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

bins (grayscale) veya l_bins/a_bins/b_bins (RGB565), kanal başına histogram kutusu sayısını ayarlar. 2’den büyük olmalıdır. Varsayılan olarak kanal başına maksimum kutu sayısıdır.

difference, fazladan bir arabellek olmadan geçerli görüntü ile o görüntü arasındaki fark üzerinde çalışmak için bir görüntü nesnesine ayarlanabilir.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Bir roi için tüm renk kanallarında ortalama, medyan, mod, standart sapma, min, max, alt çeyrek ve üst çeyreği hesaplar ve bir image.statistics nesnesi döndürür. Image.get_stats() veya Image.statistics() olarak da kullanılabilir.

thresholds, grayscale görüntüler için (lo, hi) demetlerinden veya RGB565 görüntüler için (l_lo, l_hi, a_lo, a_hi, b_lo, b_hi) demetlerinden oluşan bir listedir. Geçirilirse, istatistikler yalnızca eşikler içindeki pikseller üzerinden hesaplanır.

invert, eşik eşleştirmesini tersine çevirir.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

bins (grayscale) veya l_bins/a_bins/b_bins (RGB565), kanal başına histogram kutusu sayısını ayarlar. 2’den büyük olmalıdır. Varsayılan olarak kanal başına maksimum kutu sayısıdır.

difference, fazladan bir arabellek olmadan geçerli görüntü ile o görüntü arasındaki fark üzerinde çalışmak için bir görüntü nesnesine ayarlanabilir.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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

Görüntüdeki tüm eşiklenmiş pikseller üzerinde doğrusal bir regresyon (Theil-Sen) hesaplar. Bir image.line nesnesi döndürür veya hiçbir çizgi bulunmazsa None döndürür.

thresholds, grayscale görüntüler için (lo, hi) demetlerinden veya RGB565 görüntüler için (l_lo, l_hi, a_lo, a_hi, b_lo, b_hi) demetlerinden oluşan bir listedir.

invert, eşik eşleştirmesini tersine çevirir.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

x_stride ve y_stride, görüntü değerlendirilirken kaç pikselin atlanacağını denetler.

area_threshold minimum sınırlayıcı kutu alanı; daha küçük sonuçlar None döndürür.

pixels_threshold minimum eşiklenmiş piksel sayısı; daha küçük sonuçlar None döndürür.

target_size bir (w, h) demetidir. ROI, O(N^2) algoritmasını çalıştırmadan önce bu boyutun içine sığacak şekilde alan ölçekleyerek küçültülür. Varsayılan olarak (80, 60).

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

Tespit Yöntemleri

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]

Görüntüdeki tüm noktaları (bir eşik testini geçen bağlı piksel bölgeleri) bulur ve bir image.blob nesneleri listesi döndürür.

thresholds, grayscale görüntüler için (lo, hi) demetlerinden veya RGB565 görüntüler için (l_lo, l_hi, a_lo, a_hi, b_lo, b_hi) demetlerinden (LAB kanalları) oluşan bir listedir. En fazla 32 demet geçirilebilir. Değiştirilmiş min/max değerleri otomatik olarak düzeltilir; eksik bileşenler varsayılan olarak maksimum aralığa ayarlanır.

invert, eşik eşleştirmesini tersine çevirir.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

x_stride ve y_stride, bir nokta aranırken kaç pikselin atlanacağını denetler. Noktaların büyük olduğu biliniyorsa artırın.

area_threshold minimum sınırlayıcı kutu alanı; daha küçük noktalar filtrelenir.

pixels_threshold minimum eşiklenmiş piksel sayısı; daha küçük noktalar filtrelenir.

merge True ise sınırlayıcı dikdörtgenleri kesişen noktaları birleştirir. margin, kesişim için kullanılan sınırlayıcı dikdörtgenleri büyütür/küçültür. Birleştirilmiş noktalar code bit vektörlerini birlikte OR’lar (eşik başına bir bit).

threshold_cb, eşiklemeden sonra her nokta için çağrılır; tutmak için True, filtrelemek için False döndürün.

merge_cb, birleştirilmek üzere olan her nokta çifti için çağrılır; birleştirmeye izin vermek için True, engellemek için False döndürün.

x_hist_bins_max sıfır değilse, her noktayı bu kadar kutu kullanan bir x_histogram projeksiyonu ile doldurur.

y_hist_bins_max sıfır değilse, her noktayı bu kadar kutu kullanan bir y_histogram projeksiyonu ile doldurur.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

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]

Hough dönüşümünü kullanarak görüntüdeki tüm sonsuz çizgileri bulur. Bir image.line nesneleri listesi döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

x_stride ve y_stride, hough dönüşümü sırasında kaç pikselin atlanacağını denetler.

threshold minimum çizgi büyüklüğü (çizgi boyunca sobel büyüklüklerinin toplamı); bunun altındaki çizgiler filtrelenir.

theta_margin ve rho_margin birleştirmeyi denetler: bu eşikler içindeki çizgiler birleştirilir.

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

find_line_segments(roi: Tuple[int, int, int, int] | None = None, merge_distance: int = 0, max_theta_difference: int = 15) List[line]

Görüntüdeki çizgi parçalarını bulur. Bir image.line nesneleri listesi döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

merge_distance, birleştirilecek iki parça arasındaki maksimum piksel ayrımıdır.

max_theta_difference, birleştirilecek parçalar arasındaki derece cinsinden maksimum teta farkıdır.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

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]

Hough dönüşümünü kullanarak görüntüdeki daireleri bulur. Bir image.circle nesneleri listesi döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

x_stride ve y_stride, hough dönüşümü sırasında kaç pikselin atlanacağını denetler.

threshold minimum daire büyüklüğü (daire boyunca sobel büyüklüklerinin toplamı); bunun altındaki daireler filtrelenir.

x_margin, y_margin ve r_margin birleştirmeyi denetler: bu eşikler içindeki daireler birleştirilir.

r_min minimum daire yarıçapı. Varsayılan olarak 2.

r_max maksimum daire yarıçapı. Varsayılan olarak min(roi.w/2, roi.h/2).

r_step yarıçap adım boyutu. Varsayılan olarak 2.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

find_rects(roi: Tuple[int, int, int, int] | None = None, threshold: int = 1000) List[rect]

apriltag dörtgen tespit algoritmasını kullanarak görüntüdeki dikdörtgenleri bulur. Bir image.rect nesneleri listesi döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

threshold minimum kenar büyüklüğü (dikdörtgen kenarları boyunca sobel büyüklüklerinin toplamı); bunun altındaki dikdörtgenler filtrelenir.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

find_qrcodes(roi: Tuple[int, int, int, int] | None = None) List[qrcode]

roi içindeki tüm qrcode’ları bulur ve bir image.qrcode nesneleri listesi döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

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]

roi içindeki tüm apriltag’leri bulur ve bir image.apriltag nesneleri listesi döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

families, çözülecek etiket ailelerinin bir bit maskesidir. Şunların mantıksal OR’udur:

Varsayılan olarak image.TAG36H11. Tespit süresi, etkin aile sayısıyla ölçeklenir.

fx ve fy, kameranın X ve Y odak uzunluklarıdır (piksel cinsinden).

cx ve cy görüntü merkezidir, tipik olarak image.width()/2 ve image.height()/2.

Sıkıştırılmış görüntülerde desteklenmez.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

find_datamatrices(roi: Tuple[int, int, int, int] | None = None, effort: int = 200) List[datamatrix]

roi içindeki tüm datamatrix’leri bulur ve bir image.datamatrix nesneleri listesi döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

effort, veri matrisi eşleşmelerini bulmaya ne kadar zaman harcanacağını denetler. Daha yüksek değerler, çerçeve hızı pahasına tespiti iyileştirir. ~160’ın altındaki değerler tespit etmekte başarısız olur; ~240’ın üzerindeki değerler azalan getiri sağlar. Varsayılan olarak 200.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

find_barcodes(roi: Tuple[int, int, int, int] | None = None) List[barcode]

roi içindeki tüm 1D barkodları bulur ve bir image.barcode nesneleri listesi döndürür. Hem yatay hem de dikey olarak tarar.

Desteklenen barkod türleri: 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.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

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

Faz korelasyonu kullanarak bu görüntünün template‘ten öteleme kaymasını bulur. Bir image.displacement nesnesi döndürür.

roi, ilgi bölgesi dikdörtgenidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

template_roi, şablonun ilgi bölgesidir. Varsayılan olarak şablon görüntüsü dikdörtgenidir. roi ve template_roi aynı genişlik ve yüksekliğe sahip olmalıdır.

logpolar True ise x/y ötelemesi yerine dönüş/ölçek değişikliği döndürür.

fix_rotation_scale True ise, dönüş ve ölçeği hizaladıktan sonra yer değiştirmeyi hesaplar (yalnızca logpolar=False olduğunda anlamlıdır).

Not

Bu yöntemi 2’nin kuvveti olan görüntü boyutlarında kullanın (örneğin sensor.B64X64).

Sıkıştırılmış görüntülerde veya bayer görüntülerde desteklenmez. OpenMV Cam M4’te kullanılamaz.

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

Normalleştirilmiş Çapraz Korelasyon kullanarak görüntüde template‘in eşleştiği ilk konumu bulmaya çalışır. Bir sınırlayıcı kutu demeti (x, y, w, h) veya None döndürür.

template, bu görüntüyle eşleştirilecek bir grayscale görüntüdür.

threshold bir değerdir (0.0-1.0). Daha yüksek değerler yanlış pozitifleri ve tespitleri azaltır; daha düşük değerler tersini yapar.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

step, arama sırasında atlanacak piksel sayısıdır (yalnızca image.SEARCH_EX modunda kullanılır).

search, image.SEARCH_DS (daha hızlı elmas araması) veya image.SEARCH_EX (kapsamlı arama) şeklindedir.

Yalnızca grayscale görüntülerde çalışır.

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]]

Görüntüyü, geçirilen Haar cascade ile eşleşen alanlar için arar ve bir sınırlayıcı kutu demetleri listesi (x, y, w, h) döndürür. Hiçbir öznitelik bulunmazsa boş bir liste döndürür.

cascade bir Haar Cascade nesnesidir (image.HaarCascade()‘e bakın).

threshold (0.0-1.0). Daha düşük değerler tespit oranını ve yanlış pozitif oranını artırır.

scale 1.0’dan büyük olmalıdır. Daha yüksek değerler daha hızlı çalışır ancak daha zayıf eşleşmeler üretir.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

find_eye(roi: Tuple[int, int, int, int]) Tuple[int, int]

Bir gözün etrafındaki ilgi bölgesi demetinde (x, y, w, h) göz bebeğini arar. Göz bebeğinin (x, y) konumunu veya hiçbiri bulunmazsa (0, 0) döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h).

Yalnızca grayscale görüntülerde çalışır.

find_lbp(roi: Tuple[int, int, int, int]) lbp_descriptor

İlgi bölgesinden LBP (yerel ikili desenler) anahtar noktalarını çıkarır. İki tanımlayıcıyı karşılaştırmak için image.match_descriptor() kullanın.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h).

Yalnızca grayscale görüntülerde çalışır.

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

İlgi bölgesinden ORB anahtar noktalarını çıkarır. İki tanımlayıcıyı karşılaştırmak için image.match_descriptor() kullanın. Hiçbir anahtar nokta bulunmazsa None döndürür.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.

threshold (0-255), çıkarılan köşelerin sayısını denetler. Daha düşük eşikler daha fazla köşe üretir. AGAST için ~20, FAST için ~60-80 kullanın.

normalized True ise çok çözünürlüklü anahtar nokta çıkarmayı devre dışı bırakır.

scale_factor 1.0’dan büyük olmalıdır. Daha yüksek değerler daha hızlı çalışır ancak daha zayıf eşleşmeler üretir.

max_keypoints, korunacak maksimum anahtar nokta sayısıdır.

corner_detector, image.CORNER_FAST veya image.CORNER_AGAST şeklindedir.

Yalnızca grayscale görüntülerde çalışır.

find_edges(edge_type: int, threshold: Tuple[int, int] = (100, 200)) Image

Görüntüyü yalnızca kenarları beyaz piksel olarak bırakacak şekilde siyah beyaza dönüştürür.

  • image.EDGE_SIMPLE - Basit eşiklenmiş yüksek geçiren filtre algoritması.

  • image.EDGE_CANNY - Canny kenar tespit algoritması.

threshold, düşük bir eşik ve yüksek bir eşik içeren iki değerli bir demettir. Bu değerleri ayarlayarak kenarların kalitesini denetleyebilirsiniz. Varsayılan olarak (100, 200).

Yalnızca grayscale görüntülerde çalışır.

find_hog(roi: Tuple[int, int, int, int] | None = None, size: int = 8) Image

ROI’deki pikselleri HOG (yönlendirilmiş gradyan histogramı) çizgileriyle değiştirir.

roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Belirtilmezse, görüntü dikdörtgenine eşittir. Yalnızca roi içindeki pikseller üzerinde işlem yapılır.

Yalnızca grayscale görüntülerde çalışır.

Bu yöntem OpenMV Cam M4’te kullanılamaz.

stereo_disparity(reversed: bool = False, max_disparity: int = 64, threshold: int = 64) Image

Yan yana iki kamera sensörünün çıktısını içeren iki kat genişlikte bir grayscale görüntü alır ve bir yarısını stereo eşitsizlik görüntüsüyle değiştirir (her piksel derinliği temsil eder). Örneğin 320x240’lık iki kamera için 640x240’lık bir görüntü geçirin.

reversed Varsayılan olarak sol görüntü sağ ile karşılaştırılır ve sağ görüntü değiştirilir. Sağ->sol karşılaştırmak ve sol görüntüyü değiştirmek için True olarak ayarlayın.

max_disparity, mutlak farkların toplamını kullanarak eşleşen bir piksel bloğu aramak için maksimum mesafedir (1-255). Daha büyük değerler katlanarak daha uzun sürer ancak daha yüksek kaliteli çıktı üretir.

threshold iki blok arasındaki mutlak farkların toplamı bu eşiğe eşit veya ondan küçükse eşleşiyor olarak kabul edilir.

Görüntü üzerinde seçici arama çalıştırır ve nesne önerilerinin bir sınırlayıcı kutu demetleri listesi (x, y, w, h) döndürür.

threshold bölütleme eşiğidir; daha yüksek değerler daha az/daha büyük bölgeler üretir.

size birleştirmeden sonraki minimum bölge boyutudur.

a1, a2, a3, bölgeler birleştirilirken kullanılan renk/doku/boyut benzerlik ağırlıklarıdır.