Error in getting frames of IR stream with 320*240 @30fps

Hello everyone,

I am using Astra S for developing facial expression tracking.
For doing this, I set configurations of Astra S as 320*240 @30fps.

However, whenever I used get_latest_frame() function in IR stream, the program was stuck.
Astra S cannot use 320*240 @30fps of Infrared camera configurations?

Similarly, can’t Astra S use 320*240 @60fps of Depth camera configurations?

Thank you,
Myeong

You need to first stop the color stream and then start the IR stream. See the SimpleStreamViewer-SFML sample to see how to switch IR on and off. (Push I to switch to IR, then C to switch to color.) Astra SDK v0.5.0 is out and you may want to update.

Unfortunately, 60 fps mode is not supported by any current cameras.

I experiment the same isue with the ir reader. In the moment when i call the get lates frame, my code get stucked. i tried to start it without the rgb stream, onley calling the ir stream.

astra::StreamSet streamSet;
astra::StreamSet streamSetC;
astra::StreamSet streamSetIr;

astra::StreamReader readerD = streamSet.create_reader();
astra::StreamReader readerC = streamSetC.create_reader();

astra::StreamReader readerIr = streamSetIr.create_reader();


readerD.stream<astra::DepthStream>().start();
//readerC.stream<astra::ColorStream>().start();

readerIr.stream<astra::InfraredStream>().start();


do
{
    
    astra::Frame irFrame = readerIr.get_latest_frame();
    const auto irframe = irFrame.get<astra::InfraredFrameRgb>();

    astra::Frame frame = readerD.get_latest_frame();
    const auto depthFrame = frame.get<astra::DepthFrame>();

    astra::Frame cFrame = readerC.get_latest_frame();
    const auto colorFrame = cFrame.get<astra::ColorFrame>();


}

@smoli You may need to set the IR mode first :slight_smile:

astra::ImageStreamMode irMode;
irMode.set_width(640);
irMode.set_height(480);
irMode.set_pixel_format(astra_pixel_formats::ASTRA_PIXEL_FORMAT_GRAY16);
irMode.set_fps(30);
irStream.set_mode(irMode);

2 Likes