Operações básicas em imagens
Coordenadas

Obter/definir pixels
Podemos obter o valor de um pixel através do método image.get_pixel((x, y)).
- image.get_pixel((x, y))
- Para imagens em escala de cinza: Retorna o valor em escala de cinza da coordenada (x, y).
- Para imagens coloridas: Retorna uma tupla (r, g, b) da coordenada (x, y).
Da mesma forma, podemos definir o valor de um pixel através do método image.set_pixel((x, y), pixel).
- image.set_pixel((x, y), pixel)
- Para imagens em escala de cinza: Define o valor em escala de cinza da coordenada (x, y).
- Para imagens coloridas: Define o valor (r, g, b) da coordenada (x, y).
Exemplo:
import csi
csi0 = csi.CSI()
img = csi0.snapshot()
img.get_pixel((10, 10))
img.set_pixel((10, 10), (255, 0, 0)) # define o pixel na coordenada (10,10) como vermelho (255,0,0)
Obter a largura e a altura de uma imagem
image.width()\ Retorna a largura da imagem (em pixels)
image.height()\ Retorna a altura da imagem (em pixels)
image.format()\ Imagens em escala de cinza retornarão csi.GRAYSCALE, e imagens coloridas retornarão csi.RGB565.
image.size()\ Retorna o tamanho da imagem (em bytes)
Operações de imagem
- image.invert()
Inverte; para imagens binárias, 0 (preto) se torna 1 (branco), e 1 (branco) se torna 0 (preto).
Observação:\ image pode ser outro objeto de imagem, ou um objeto de imagem lido de um arquivo (bmp/pgm/ppm).\ Ambas as imagens devem ter o mesmo tamanho e tipo (escala de cinza/cor).
image.nand(image)\ Executa uma operação NAND com outra imagem.
image.nor(image)\ Executa uma operação NOR com outra imagem.
image.xor(image)\ Executa uma operação XOR com outra imagem.
image.xnor(image)\ Executa uma operação XNOR com outra imagem.
image.difference(image)\ Subtrai outra imagem desta. Por exemplo, para cada pixel em cada canal, toma-se o valor absoluto da diferença. Esta função é frequentemente usada para detecção de movimento.