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()veyato_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 dosyadan –
Imageyapıcısına bir yol dizesi geçirin. BMP, PGM, PPM, JPEG ve PNG doğrudan RAM’e (veyacopy_to_fb=Trueise 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ıyla0.0 -- 255.0aralığı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 birbuffer=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¶
İndeksleme –
img[i]pikseli‘yi okur (doğrusal, satır öncelikli).img[i] = valueonu 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.Uzunluk –
len(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.Yineleme –
for px in img: ...piksel dizisini[]indekslemesiyle aynı sırada dolaşır.Bytes benzeri –
Imageokuma arabelleği protokolünü açığa çıkarır, böylece onu doğrudan birbytes/bytearrayalan herhangi bir şeye geçirebilirsiniz (örneğinuart.write(img),socket.send(img),hashlib.sha256(img)). Okuma/yazma görünümü elde etmek için bunun yerinebytearray()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:
image.AREA: Küçültme yaparken varsayılan en yakın komşu yerine alan ölçekleme kullanır.
image.BILINEAR: Varsayılan en yakın komşu ölçekleme yerine çift doğrusal ölçekleme kullanır.
image.BICUBIC: Varsayılan en yakın komşu ölçekleme yerine çift kübik ölçekleme kullanır.
image.CENTER: Çizilen görüntüyü ekranda ortalar. Bu, ölçeklemeden sonra uygulanır.
image.HMIRROR: Görüntüyü yatay olarak yansıtır.
image.VFLIP: Görüntüyü dikey olarak çevirir.
image.TRANSPOSE: Görüntüyü devrik alır (x/y’yi değiştirir).
image.EXTRACT_RGB_CHANNEL_FIRST: rgb_channel çıkarmayı ölçeklemeden önce yapar.
image.APPLY_COLOR_PALETTE_FIRST: Renk paletini ölçeklemeden önce uygular.
image.SCALE_ASPECT_KEEP: Çizilen görüntüyü ekranın içine sığacak şekilde ölçekler.
image.SCALE_ASPECT_EXPAND: Çizilen görüntüyü ekranı dolduracak şekilde ölçekler (kırpma ile sonuçlanır)
image.SCALE_ASPECT_IGNORE: Çizilen görüntüyü ekranı dolduracak şekilde ölçekler (germeyle sonuçlanır).
image.ROTATE_90: Görüntüyü 90 derece döndürür (bu sadece VFLIP | TRANSPOSE’dur).
image.ROTATE_180: Görüntüyü 180 derece döndürür (bu sadece HMIRROR | VFLIP’tir).
image.ROTATE_270: Görüntüyü 270 derece döndürür (bu sadece HMIRROR | TRANSPOSE’dur).
image.BLACK_BACKGROUND: Üzerine çizilen arka plan görüntüsünün siyah olduğunu varsayarak harmanlamayı hızlandırır. YalnızcaImage.draw_image()veImage.get_similarity()tarafından desteklenir.
- class image.Image(arg: str | int | ndarray, height: int = -1, pixformat: int = -1, *, buffer: bytes | bytearray | memoryview | None = None, copy_to_fb: bool = False)¶
argbir dize ise bu,argyolundaki 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_fbdoğruysa görüntü, yığında ayrılmak yerine çerçeve arabelleğine kopyalanır.argbirndarrayise bu,ndarray‘den yeni bir görüntü nesnesi oluşturur.(w, h)şekline sahipndarraynesneleri grayscale görüntü olarak,(w, h, 3)ise RGB565 görüntü olarak işlenir. Şu anda yalnızca float32 noktandarraysdesteklenmektedir. Bir görüntüyü bu şekilde oluştururken birbufferargümanı geçirirseniz, yığında alan ayırmak yerine görüntü verilerini depolamak için bu kullanılır.copy_to_fbdoğruysa görüntü, yığında ayrılmak veyabufferkullanılmak yerine çerçeve arabelleğine kopyalanır.argbirintise 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 birheightdeğeri ve birformatdeğeri izlemelidir.format,image.GRAYSCALEgibi 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 birbufferdeğerinin beklendiğini unutmayın. Bu şekilde görüntü oluştururkenbuffergörüntü verisinin kaynağı olarak kabul edilir.copy_to_fbile kullanılırsabuffer‘daki veri çerçeve arabelleğine kopyalanır. Bir JPEGbytes()veyabytearray()nesnesinden bir JPEG görüntü oluşturmak isterseniz, JPEG içinwidth,height,image.JPEGdeğerlerini geçiripbuffer‘ı 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 valueveya bir görüntü pikseli almak içinimage[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¶
- format() int¶
Grayscale görüntüler için
image.GRAYSCALE, RGB565 görüntüler içinimage.RGB565, bayer desenli görüntüler içinimage.BAYERve JPEG görüntüler içinimage.JPEGdöndürür.
- bytearray() bytearray¶
Bayt düzeyinde okuma/yazma erişimi için görüntü verilerine işaret eden bir
bytearraynesnesi döndürür.Not
Görüntü nesneleri, bir
bytesbenzeri nesne gerektiren bir MicroPython sürücüsüne geçirildiğinde otomatik olarakbytesnesnesi olarak dönüştürülür. Bu salt okunur bir erişimdir. Okuma/yazma erişimi almak içinbytearray()ç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.
xveyaygörüntünün dışındaysa None döndürür.xveybağımsız olarak ya da bir demet olarak geçirilebilir.rgbtupleTrue 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()veImage.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öntemirgbtupleayarlanmış 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
pixelgrayscale değerine ayarlar. RGB565 görüntüler için: (x, y) konumundaki pikselipixelRGB888 demetine (r, g, b) ayarlar. Bayer desenli görüntüler için: (x, y) konumundaki piksel değerinipixeldeğerine ayarlar.Başka bir yöntemi
.gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.xveybağımsız olarak ya da bir demet olarak geçirilebilir.pixelya 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()veImage.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
ndarraynesnesi 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ı birndarrayoluşturmak içinb,Bveyafolabilir. GRAYSCALE görüntüler doğrudan işaretsiz 8 bitndarraynesnelerine dönüştürülür. İşaretli 8 bitndarraynesneleri için (0:255) değerleri (-127:128) aralığına eşlenir. Float 32 bitndarraynesneleri için değerler (0.0:255.0) aralığına eşlenir. RGB565 görüntüler 3 kanallındarraynesnelerine dönüştürülür ve GRAYSCALE görüntüler için yukarıda açıklanan aynı işlemdtype‘a bağlı olarak her kanala uygulanır.dtype‘ın ayrıcab,Bvef‘nin sırasıyla tamsayı değerlerini (örneğinord()) de kabul ettiğini unutmayın.bufferNonedeğilse,ndarrayiçin arabellek olarak kullanılacak birbytearraynesnesidir.Noneisendarraygö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ırarakndarray‘i önceden ayrılmış bir arabellekte doğrudan ayırmak içinbufferargü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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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.GRAYSCALEvesensor.RGB565gö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şlemlerdemaskdeğ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.GRAYSCALEveyasensor.RGB565gö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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğilse, kaynak görüntü her ne ise onun grayscale değeri üzerinde bir renk arama tablosu olarak kullanılacakimage.PALETTE_DEPTHveya toplam 256 pikselden oluşan bir RGB565 görüntü olabilir. Bu, kullanılırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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:image.JPEG_SUBSAMPLING_AUTO: Görüntü için kaliteye göre en iyi alt örneklemeyi kullanır.image.JPEG_SUBSAMPLING_444: 4:4:4 alt örnekleme kullanır.image.JPEG_SUBSAMPLING_422: 4:2:2 alt örnekleme kullanır.image.JPEG_SUBSAMPLING_420: 4:2:0 alt örnekleme kullanır.
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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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:image.JPEG_SUBSAMPLING_AUTO: Görüntü için kaliteye göre en iyi alt örneklemeyi kullanır.image.JPEG_SUBSAMPLING_444: 4:4:4 alt örnekleme kullanır.image.JPEG_SUBSAMPLING_422: 4:2:2 alt örnekleme kullanır.image.JPEG_SUBSAMPLING_420: 4:2:0 alt örnekleme kullanır.
Başka bir yöntemi
.gösterimiyle çağırabilmeniz için görüntü nesnesini döndürür.Not
Image.compress,Image.to_jpegiç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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copy_to_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenmeyenimage.BLACK_BACKGROUNDhariç).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘dir. Bunu donanımda yapabilen bir GPU’ya sahip olduğundan şu anda yalnızca OpenMV Cam N6’da desteklenir.copyTrue 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_fbTrue 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.cropiç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
pathkonumuna 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.
Ç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,\rve\r\nsatı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_spacevarsayı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_hmirrorTrue ise dizedeki tüm karakterleri yatay olarak yansıtır.char_vflipTrue ise dizedeki tüm karakterleri dikey olarak çevirir.string_rotation, dizeyi bu miktarda döndürmek için 0, 90, 180, 270 olabilir.string_hmirrorTrue ise dizeyi yatay olarak yansıtır.string_vflipTrue 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).color1dikdörtgen rengidir vecolor2ağırlık merkezi artı işaretinin rengidir.sizeağırlık merkezi artı işaretinin boyutu,thicknessana hat genişliğini denetler vefilldikdörtgeni doldurur.labelsağ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.cornersgibi 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.size0’dan büyükse köşelerinsizeyarıç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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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_scalebelirtilmezse en boy oranını korumak içinx_scaleile 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=1geç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_paletteNonedeğ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ırsargb_channelçıkarmasından sonra uygulanır.alpha_paletteNonedeğilse, çizilen kaynak görüntününalphadeğ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ırsargb_channelçıkarmasından sonra uygulanır.hint, İpucu bayrakları bölümünde listelenen bayrakların mantıksal OR’udur (burada desteklenenimage.BLACK_BACKGROUNDdahil).transform, görüntü üzerinde bir perspektif dönüşümü gerçekleştirmek için kullanılan 3x3ndarray‘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_EVENTStarafından doldurulduğu gibi) birImageüzerine rasterleştirir. Görüntü arabelleği 320x320 GRAYSCALE bir görüntü olmalıdır.Her
csi.PIX_ON_EVENTsatırı için olayın pikseline+contrasteklenir; hercsi.PIX_OFF_EVENTsatırı için piksele-contrastuygulanır. Tetikleme olayları yok sayılır. Piksel değerleri 0-255 aralığına kıstırılır.clearTrue ise çizimden önce görüntü arabelleğinibrightnessdeğ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,clearTrue 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
thresholdsiç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.zeroTrue 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_bitmapTrue 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 bucopy=Truegerektirebilir.copyTrue 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 - pixelolur).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.
imagebir 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.
imagebir 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.
imagebir 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.
imagebir 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.
imagebir 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.
imagebir 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.
maxTrue 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 sonrapow(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 sonrapixel * contrastuygular.brightness, normalleştirmeden sonrapixel + brightnessuygular.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.
Matematik Yöntemleri¶
- negate() Image¶
Image.invertiçin takma ad.
- replace(image: Image | None = None, **kwargs) Image¶
Image.draw_image()için takma ad. Standartdraw_imageanahtar sözcük argümanlarını kullanarak bu görüntüyüimageile değiştirir (veyaimageatlanırsa bu görüntüyü yerinde dönüştürür).transformargümanı, bir perspektif dönüşümünü tanımlayan 3x3 birndarray‘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.
imagebir 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).imagebir 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 - selfile değiştirir. Bunun dışındaImage.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.
imagebir 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.
imagebir 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||).
imagebir 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.alpha0-256 arası bir tamsayıdır; 256’ya yakın değerler kaynak görüntüyü öne çıkarır. TümImage.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.
adaptiveTrue 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 vethreshold‘dan fazla komşu boşsa merkez pikseli temizler (thresholdNone 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 vethreshold‘dan fazla komşu ayarlanmışsa merkez pikseli ayarlar (thresholdNone 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()veImage.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()veImage.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.thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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.thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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.thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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.biaskullanarak görüntüyü min/max filtreleyebilirsiniz.thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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).addtoplamsal bir parlaklık kaydırmasıdır (varsayılan 0.0).thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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.unsharpTrue 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).addtoplamsal bir parlaklık kaydırmasıdır (varsayılan 0.0).thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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.sharpenTrue 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).addtoplamsal bir parlaklık kaydırmasıdır (varsayılan 0.0).thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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.thresholdTrue ise filtre çıktısını uyarlamalı olarak ikili bir görüntüye eşikler.offsetikilileştirmeyi kaydırır (negatif daha fazla pikseli beyaz yapar, pozitif daha az yapar).invertikili çı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=Trueayarlayın.xvey, dönüşümün merkez koordinatını görüntü pikselleri cinsinden belirtir.xNoneise (varsayılan) görüntü genişliğinin yarısına ayarlanır; benzer şekildeyvarsayı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=Trueayarlayın.xvey, dönüşümün merkez koordinatını görüntü pikselleri cinsinden belirtir.xNoneise (varsayılan) görüntü genişliğinin yarısına ayarlanır; benzer şekildeyvarsayı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.fov0’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.similaritynesnesi 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,hintvetransform,Image.draw_image()ile aynı değerleri kabul eder.dssimTrue 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
roiiçin tüm renk kanallarında normalleştirilmiş histogramı hesaplar ve birimage.histogramnesnesi döndürür.Image.get_hist()veyaImage.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) veyal_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
roiiçin tüm renk kanallarında ortalama, medyan, mod, standart sapma, min, max, alt çeyrek ve üst çeyreği hesaplar ve birimage.statisticsnesnesi döndürür.Image.get_stats()veyaImage.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) veyal_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.linenesnesi 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_stridevey_stride, görüntü değerlendirilirken kaç pikselin atlanacağını denetler.area_thresholdminimum sınırlayıcı kutu alanı; daha küçük sonuçlar None döndürür.pixels_thresholdminimum eşiklenmiş piksel sayısı; daha küçük sonuçlar None döndürür.target_sizebir(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.blobnesneleri 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_stridevey_stride, bir nokta aranırken kaç pikselin atlanacağını denetler. Noktaların büyük olduğu biliniyorsa artırın.area_thresholdminimum sınırlayıcı kutu alanı; daha küçük noktalar filtrelenir.pixels_thresholdminimum eşiklenmiş piksel sayısı; daha küçük noktalar filtrelenir.mergeTrue 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ş noktalarcodebit 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_maxsıfır değilse, her noktayı bu kadar kutu kullanan bir x_histogram projeksiyonu ile doldurur.y_hist_bins_maxsı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.linenesneleri 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_stridevey_stride, hough dönüşümü sırasında kaç pikselin atlanacağını denetler.thresholdminimum çizgi büyüklüğü (çizgi boyunca sobel büyüklüklerinin toplamı); bunun altındaki çizgiler filtrelenir.theta_marginverho_marginbirleş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.linenesneleri 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.circlenesneleri 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_stridevey_stride, hough dönüşümü sırasında kaç pikselin atlanacağını denetler.thresholdminimum daire büyüklüğü (daire boyunca sobel büyüklüklerinin toplamı); bunun altındaki daireler filtrelenir.x_margin,y_marginver_marginbirleştirmeyi denetler: bu eşikler içindeki daireler birleştirilir.r_minminimum daire yarıçapı. Varsayılan olarak 2.r_maxmaksimum daire yarıçapı. Varsayılan olarakmin(roi.w/2, roi.h/2).r_stepyarıç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.rectnesneleri listesi döndürür.roi, ilgi bölgesi dikdörtgen demetidir (x, y, w, h). Varsayılan olarak görüntü dikdörtgenidir.thresholdminimum 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]¶
roiiçindeki tüm qrcode’ları bulur ve birimage.qrcodenesneleri 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]¶
roiiçindeki tüm apriltag’leri bulur ve birimage.apriltagnesneleri 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.fxvefy, kameranın X ve Y odak uzunluklarıdır (piksel cinsinden).cxvecygörüntü merkezidir, tipik olarakimage.width()/2veimage.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]¶
roiiçindeki tüm datamatrix’leri bulur ve birimage.datamatrixnesneleri 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]¶
roiiçindeki tüm 1D barkodları bulur ve birimage.barcodenesneleri 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. Birimage.displacementnesnesi 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.roivetemplate_roiaynı genişlik ve yüksekliğe sahip olmalıdır.logpolarTrue ise x/y ötelemesi yerine dönüş/ölçek değişikliği döndürür.fix_rotation_scaleTrue ise, dönüş ve ölçeği hizaladıktan sonra yer değiştirmeyi hesaplar (yalnızcalogpolar=Falseolduğ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.thresholdbir 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ızcaimage.SEARCH_EXmodunda kullanılır).search,image.SEARCH_DS(daha hızlı elmas araması) veyaimage.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.
cascadebir 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.scale1.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.normalizedTrue ise çok çözünürlüklü anahtar nokta çıkarmayı devre dışı bırakır.scale_factor1.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_FASTveyaimage.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ızcaroiiç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.
reversedVarsayı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.thresholdiki blok arasındaki mutlak farkların toplamı bu eşiğe eşit veya ondan küçükse eşleşiyor olarak kabul edilir.
- selective_search(threshold: int = 500, size: int = 20, a1: float = 1.0, a2: float = 1.0, a3: float = 1.0) List[Tuple[int, int, int, int]]¶
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.
thresholdbölütleme eşiğidir; daha yüksek değerler daha az/daha büyük bölgeler üretir.sizebirleştirmeden sonraki minimum bölge boyutudur.a1,a2,a3, bölgeler birleştirilirken kullanılan renk/doku/boyut benzerlik ağırlıklarıdır.