Description
This assignment requires the use of a shared memory in which two processes operate simultaneously, as happens in reality in similar applications.
In our case we don’t have a camera, so we will simulate the creation of the moving image using an ncurses window. Using arrow keys, we will move a spot in a window to simulate the perception of the camera. The spot that we will see by moving will produce the creation of a realistic RGB image (a circle, or a square, or similar) in the simulated, shared, video memory (see the next page).
We will use an 80 x 30 ncurses window. The video memory, for realism, will be 1600 x 600 pixels RGB true color 3 (3 bytes/pixel). There will then be a factor of 20x in the location of the interactive spot and the corresponding image in the video memory.
The above will be performed by process A, which simulates capture from a video camera and fills the video memory.
A second process B will simulate the extraction of a feature from the acquired moving image instead. For simplicity, the image in the video memory will be scanned and the center of the image will be extracted. In a second ncurses window, also 80 x 30, the position trace of the center of the image will be shown.
There will be an additional function conducted by process A, useful for debugging. By pressing a key, or by operating the mouse on a button, a snapshot of the image memory will be saved on a .bmp file.
The structure of the code is as follows:
Core topics:
Posix shared memory
Posix semaphores
RGB images
Reviews
There are no reviews yet.