VideoPopulation
extensions.image.ImagePopulation.VideoPopulation(self,
geometry,='4',
opencv_version=None,
name=False,
copied )
Rate-coded Population allowing to feed a webcam input into the firing rate of a population (each neuron represents one pixel).
This extension requires the C++ library OpenCV >= 4.0 (apt-get/yum install opencv). pkg-config opencv4 --cflags --libs
should not return an error. vtk
might additionally have to be installed.
The extensions has to be explicitly imported:
import ANNarchy as ann
from ANNarchy.extensions.image import VideoPopulation
= VideoPopulation(geometry=(480, 640))
pop
compile()
0)
pop.start_camera(
while(True):
pop.grab_image()10.0) simulate(
About the geometry:
- If the geometry is 2D, it corresponds to the (height, width) of the image. Only the luminance of the pixels will be represented (grayscale image).
- If the geometry is 3D, the third dimension can be either 1 (grayscale) or 3 (color).
If the third dimension is 3, each will correspond to the RGB values of the pixels.
Warning: due to the indexing system of Numpy, a 640*480 image should be fed into a (480, 640) or (480, 640, 3) population.
Parameters
Name | Type | Description | Default |
---|---|---|---|
geometry | tuple | population geometry as tuple. It must be fixed through the whole simulation. If the camera provides images of a different size, it will be resized. | required |
opencv_version | str | OpenCV version (default=4). | '4' |
name | str | unique name of the population (optional). | None |
Methods
Name | Description |
---|---|
grab_image | Grabs one image from the camera and feeds it into the population. |
release | Releases the camera: |
start_camera | Starts the webcam with the corresponding device (default = 0). |
grab_image
extensions.image.ImagePopulation.VideoPopulation.grab_image()
Grabs one image from the camera and feeds it into the population.
The camera must be first started with:
pop.start_camera(0)
release
extensions.image.ImagePopulation.VideoPopulation.release()
Releases the camera:
pop.release()
start_camera
=0) extensions.image.ImagePopulation.VideoPopulation.start_camera(camera_port
Starts the webcam with the corresponding device (default = 0).
On linux, the camera port corresponds to the number in /dev/video0, /dev/video1, etc.