How can I get a single frame from a simulink live video input?
조회 수: 2 (최근 30일)
이전 댓글 표시
I want to take a video input in simulink (using "From Video Device" block from the Image Acquisition toolbox) and extract one frame from the video. I then want to find the location of the brightest pixel from this frame.
I know how to find the brightest pixel given an image, but I'm having trouble getting a screenshot from the video.
So far I've tried to use the "Video To Workspace" block from the Computer Vision System toolbox with it set to only grab 1 frame, but I want everything to remain in simulink and it seems like once the data is sent to the workspace I can't get it back to the simulink model. What is being sent to the workspace is exactly what I want. Is there a way to have to keep this data in simulink instead of it being sent to the workspace, or can I bring the workspace data back during the same simulation?
Essentially I'm looking for a way to turn a video into an image that can then be used in "imread" or a similar function in simulink.
Thanks
댓글 수: 0
채택된 답변
Kaustubha Govind
2012년 9월 7일
I think you can put the "From Video Device" block inside a Triggered Subsystem that is triggered at the instance that you want to get the snapshot.
댓글 수: 1
Harshil Patel
2016년 3월 26일
Hey! I tried using a Triggered Subsystem but its showing an error because the 'From Video Device' only takes 'real, positive numbers' as sample times whereas a Triggered Subsystem takes '-1 or inf'. Could you please suggest any other method to do the same task: Getting a single frame from live video input. It would also help me a lot if you could make a simulink model and post its image here.
Thanking You, Harshil
추가 답변 (2개)
Jesus Luevano
2012년 10월 9일
Hi, I using precisely a triggered system to get an snapshot each 3 sec in a live video, but when I send this frame to workspace, MATLAB stores for example, an struct with this dimension 240x320x94, I think the last value are the frames obtained , this mean MATLAB is storing all the frames, and not, the snapshot that I pretend.
I explain well?
my question is, how can store just this frame to workspace? can I store it into data store memory block?
regards!!!
댓글 수: 1
Kaustubha Govind
2012년 10월 10일
So you are getting the snapshot every 3 secs? How long does the simulation run for? I'm guessing 3*94 = 282s approx.? You need to provide the trigger signal only at the instant that you want to get the snapshot instead of every 3 sec.
govind malaghan
2016년 9월 21일
편집: govind malaghan
2016년 9월 21일
I have attached code for matlab function block in Simulink. In the code cam is webcam object created in matlab(cam = webcam('devicename')).You need have installed USB webcam support package for the code to work.
댓글 수: 1
Hamza Ashraf
2020년 3월 25일
sir this code of yours i used it and simulation runs for so long
i want to use it as to get one snapshot by camera and than simulation should stop
how can i do that???
참고 항목
카테고리
Help Center 및 File Exchange에서 Computer Vision with Simulink에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!