How to unpack mono12packed data images from preview

5 visualizzazioni (ultimi 30 giorni)
Matt
Matt il 19 Ott 2022
Modificato: Matt il 19 Ott 2022
Hello,
I am using the image acquisition tool to control a camera and I would like to know how to use preview properly when the camera is streaming mono12packed data.
For exemple if I set the camera to 8 bit with the following code I get nice images as shown here :
main_cam = videoinput('gige','1','Mono8');
preview(main_cam)
stoppreview(main_cam)
But if I set the camera to mono12packed I get data that seems unpacked too me :
delete(main_cam)
main_cam = videoinput('gige','1','Mono12Packed');
preview(main_cam)
stoppreview(main_cam)
I have the same unpacked data issue when using getdata like this :
main_cam = videoinput('gige','1','Mono12Packed');
start(main_cam)
[img,time_main] = getdata(main_cam,1,'double','cell');
imagesc(img{1})
Do you have ideas on how to get unpacked data from preview and getdata ?
Thank you very much !

Risposte (1)

Walter Roberson
Walter Roberson il 19 Ott 2022
  1 Commento
Matt
Matt il 19 Ott 2022
Modificato: Matt il 19 Ott 2022
Hi,
The colorspace is by default set to 'grayscale' as it should.
The thing is that in mono12packed the value of 2 pixels is written on two consequtives bytes as explained in this link.
I would expect getdata to know how to deal with this but it seems that no. When asking getdata to get data in the native format I get unint16 data where the work to unpack data (ie for each pixel go get 8 bites in the Nth byte and 4 bites in the N+1th byte for exemple and store them in a uint16 where the 4 first bites are 0) has not been done.
getdata(main_cam,1,'native','cell') % get me uint16 data

Accedi per commentare.

Prodotti


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by