2020-09-09 10:21:29 -0600 | received badge | ● Popular Question (source) |
2017-04-07 05:57:35 -0600 | asked a question | image registration for 16 bit gray images Hi you all, I'm trying to stabilise a video sequence from an infrared camera. Each frame is a PNG 16 bit gray image and I'm trying to reproduce an image registration procedure found @www.learnopencv.com/image-alignment-ecc-in-opencv-c-python. My code is the following: I'm getting the following error:(-210) Images must have 8uC1 or 32fC1 type in function findTransformECC. I could transform the image from 16bit to 8 bits but I want a 16bit image aligned to the reference frame. I think that the only important motion in the video would be a translation because of fine tremor of fingers and hand. Please let me know if there are other options for stabilisation/image registration that could deal with 16 bit grey images. Here are the links to 2 frames from the video: @h_t_t_p_s://drive.google.com/file/d/0BzQd3MR0r7Y6Zm56WmQzVUR2V2s/view?usp=sharing @h_t_t_p_s://drive.google.com/file/d/0BzQd3MR0r7Y6bFozd1p5bzhMSk0/view?usp=sharing Thank you for your help |
2017-01-05 12:56:49 -0600 | answered a question | Open 16 bit video file (proprietary format) with OpenCV I've managed to write a code in Python that can extract the frames from the .xvi file (as Tetragramm suggested in C#). It's strange that the first frame seems to be discarded or there's something else in the first 640x480x2 bytes after the videofile header (which is 1024 bytes). It also seems that each frame has a 32 byte header. As you can see from the code I've visualized the frame (16bit depth array) with matplotlib. I cannot understand why when trying to visualize with opencv like in the code below it gives me an error (img_data = None). Maybe someone could help? Does opencv have a problem opening 16 bit greyscale images? If someone could help, here is a link to a small .xvi file with 81 frames (32 Mb) https://drive.google.com/file/d/0BzQd... Thank you for your help. |
2017-01-05 10:46:23 -0600 | received badge | ● Enthusiast |
2016-12-17 08:51:38 -0600 | received badge | ● Supporter (source) |
2016-12-17 08:51:24 -0600 | commented answer | Open 16 bit video file (proprietary format) with OpenCV Thank you for your answer. Thats great! Now have to figure out how to do it in Python. |
2016-12-15 12:31:03 -0600 | received badge | ● Editor (source) |
2016-02-16 06:03:58 -0600 | commented question | Open 16 bit video file (proprietary format) with OpenCV Hi and thank you for the answer. The SDK/API costs a lot like 1000 eur and have not bought it with the camera (stupid mistake). So looking now for some shortcut maybe someone here has used a xenics infrared camera with opencv? |
2016-02-15 11:54:15 -0600 | asked a question | Open 16 bit video file (proprietary format) with OpenCV I would very much like to import in OpenCV a video file which is in a proprietary format - from a Xenics-Gobi infrared camera - file extension *.xvi. The file is a 16 bit video format and with the image processing program that came with the camera i can export frames as 16 bit png frames that contain thermal information. Would it be possible somehow to open the video files in OpenCV and process the frames? Thank you for your time. I've just found out how the .xvi file is structured: The first 1024 bytes of an .XVI file is reserved for header information. After this block of 1kb you have raw frame data in the following format: Pixel(x,y) = block[ x+(y*width) ] Where each pixel is represented by an integer scaled up to the nearest CPU representation. For example, if the bit size is 12, you will get a 16bit integer. For bit sizes larger than 16 you will get a 32 bit integer, followed by a 64 bit representation (and so on ...) Note: All integers used are in Intel byte order. Maybe with the above information someone could help me import the file in openCV (python code). Thank you again |