Line camera from video processing and ImageTake​
​by Shenghui Yang
Henderson just posted a nice example of stitching a vertical line of pixels of each frame to create a scan . This demo can be quickly done with the video processing feature in the WL.

Import video

Choose the video file on your machine:
In[]:=
vfile="C:\\Users\\sheng\\Downloads\\pexels-george-morina-5688492.mp4";
Convert the file to video object:
In[]:=
v=Video[vfile]
Out[]=
Extract a test frame:
In[]:=
frame=VideoFrameList[v,1][[1]]
Out[]=
Use ImageTake to extract a slim strip of the video. The minimum width of strip is about 4 pixels for the video processing later:
In[]:=
ImageTake[frame,All,{740,744}]
Out[]=
Apply the extraction function to the video frames:
In[]:=
strip=VideoFrameMap[ImageTake[#,All,{740,744}]&,v];
In[]:=
Information[strip]
Out[]=
Take 450 frames uniformly
In[]:=
finalImage=Reverse[VideoFrameList[strip,450]]//ImageAssemble
Out[]=

Summary of functions

◼
  • Video
  • ◼
  • VideoFrameList
  • ◼
  • VideoFrameMap
  • ◼
  • ImageTake