10-07-2022 07:21 AM
Hello Everyone,
i am currently working on a project where i have to edit a video (3D array) in labview, the editing consists of two parts (spatial and temporal). the spatial filtering was successful as i had only worked with 2D array.
for the temporal filtering I have to apply a temporal filtering for each pixel where it is just hard because I work with 3D array.
does anyone know a literature or course for video processing in labview ?
for further recommendation how the video processing works i would be grateful
Younes
10-07-2022 10:13 AM - edited 10-07-2022 10:14 AM
Once it is a 3D array, it is no longer a "video", but just 3D data stored in contiguous memory order.
What is the datatype of the elements? What kind of "filtering" are you doing? How big are these arrays?
The only difference between a 1D and a 2D array is that you need three indices to specify an element. Not really more complicated than 2D arrays.
(Is this related to your other question? Maybe we should keep all related discussions in the same place.)
10-07-2022 03:33 PM
thank you for answer ....
I am editing a video of 10 seconds, where it consists of ( 400X500x10) 3D array . for the spatial filtering I had only needed the (400x500) , these are the pixels number (column and row ) . the next step is the temporal filtering , where I need the frames ( 10) the third demsion .
I am confused how to start.
thanks in advance
10-07-2022 04:19 PM
What kind of "filtering"? For example if it is just a 2D convolution with a smoothing kernel, you could just do 3D convolution instead. Do you have a VI with typical data?
10-07-2022 04:33 PM
I would explain my whole project in detail:
it is about pulse of a human with a video recording detect.
for the method as I said before, it is needed two type of filterings:
1- spatial filtering : gaussian filtering , gaussian pyramid (down-up samling ) and then build laplacian pyramid .
I have done this in VI below.
2- the temporal filterug where I do not soft how to do exactly.
thanks
10-07-2022 04:37 PM
Thanks. Currently posting by phone, will look at it later. Make sure to save for previous (2020) if your version is newer.
10-07-2022 04:42 PM
hier für 202 0vision
10-07-2022 05:10 PM
We are missing all subVIs. We don't really need the "video to image" part. Just run it with typical data until "unsigned byte array" contains values, the right-click that indicator and change to constant. delete the file IO. Now save the VI under a new file name and the save for previous again.
(When you saved for previous, it should have included all dependencies. Easiest would be to just zip them all up before attaching.)
What do the two subVis near the right border do?
10-07-2022 08:52 PM
Very interesting (and confusing!). You speak of "spatial filtering" on the 2D images, which generally has a "2D goal", i.e. "low pass filter" (average nearby pixels) to (perhaps) get rid of "noise" or "high-pass filter" (to emphasize "edges"), whereas processing frames is processing as a function of time, or "deal with motion". Yet your sampling at 1 Hz for 10 frames, so unless whatever you are filming is moving at a very slow rate, how are you going to correlate space (2D) and time (1D)?
Another complication, of course, is that you have to consider that motion is in 3D (the image can get closer or farther from the Image Plane) and can be combinations of translation, rotation, dilation, and noise, perhaps some others).
So "filtering" in that third dimension is (as they say) a Horse of a Different Color. What is it you are trying to extract from those 10 images?
Bob Schor
10-08-2022 07:42 AM
thanks for the feedback...
i think i got confused , the video consists of 300 frames and i need to get a signal for each pixel of the video. on this signal i need to apply a temporal filter . the problem as i need for each pixel a signal (of 300 frames ) so i can apply the temporal filter.
Younes