Matlab을사용한비디오처리

활용분야,예제및기법

일반적활용분야

비디오활용분야에서는일반적이면서도까다로운문제들을해결해야하며이를위해서는유연한분석및처리기능이필요합니다。MATLAB®과仿万博1manbetx真软件®제품을사용하면비디오안정화,비디오모자이크처리,표적검출및추적과같은일반적인비디오처리문제에대한솔루션을개발할수있습니다。

객체 추적

객체추적은보행자회피,보안및감시,증강현실과같은다양한활용분야의기본적인요소입니다。이예제에서는고정된카메라로부터동영상안의움직이는사람을모션기반으로추적하는내용을소개합니다。

객체검출및개수세기

비디오처리는비디오시퀀스에서움직이는객체를검출하고개수를세는데사용할수있습니다。이사례연구에서는호주과학자들이비디오자료영상에서야생물새의개체수를추정합니다。

Matlab의비디오처리

MATLAB®은비디오를보고,분석하고,읽고쓰는데사용할수있는도구와알고리즘을제공합니다。비디오처리는다음과같은활용분야에서유용하게사용할수있습니다。

비디오처리는딥러닝,모션추정,자율주행과같은역에필수적입니다。MATLAB에서상세한예제를통해비디오를처리,상호작용및분석하는방법을알아봅니다。

간단한네가지단계로알아보는비디오처리

Matlab의비디오처리에서는다음과같은단계가사용됩니다。

  1. 비디오읽기
  2. 비디오@ @시하기
  3. 비디오처리하기
  4. 비디오쓰기

1단계.비디오읽기

비디오는파일에서또는카메라에서직접읽어들일수있습니다。

다음과같은단일matlab명령으로파일에서비디오를읽어들일수있습니다。

>> vid =视频阅读器(“filename.avi”

Matlab은비디오처리를위한웹캠을지원하며,图像采集工具箱를사용하면여러산업용및과학용카메라에서실시간으로상을얻을수있습니다。

MATLAB에서는微软®窗户®、Mac、Linux®와같은각os별코덱을비롯한다양한코덱을사용하여비디오파일을읽어들일수있습니다

2단계.비디오@ @시하기

Matlab에서는다음과같은두가지방법을사용하여비디오를시할수있습니다。

비디오뷰어앱

Matlab동상,비디오또는이미지시퀀스를재생하는비디오뷰어앱。비디오를시작하거나중지하고다양한속도로재생할수있으며,비디오의특정섹션으로건너뛸수있습니다。

3단계.비디오처리하기

하나의비디오는일련의개별비디오프레임(이미지)으로구성됩니다。즉,이미지에대해경계검출을수행하도록설계된알고리즘을간단히변환하여비디오에대해경계검출을수행할수있습니다。

读取单幅图像

从视频中读取图像帧

Current_image = imread(“flowers.png”);
边缘(current_image);

current_image = readFrame(vid);
边缘(current_image);

비디오처리는경계검출을사용하는경우와같이매우간단할수도있고,이전프레임에서의객체위치를고려해야하는추적알고리즘과같이훨씬복잡할수도있습니다。

고급비디오처리에대한자세한내용은다음과같은예제를참조하십시오。

4단계.비디오쓰기

처리후에는비디오의각프레임을다시파일에쓸수있습니다。다음함수를사용하여비디오파일을만들수있습니다。

>> vid_w = VideoWriter(“newfile.avi”);> >开放(vid_w)

변수vid_w는새로운프레임을누적하여하나의비디오를만들수있습니다。

완전한matlab예제

이번에는모든컴포넌트를하나로모아비디오읽기,표시하기,처리하기,쓰기의단계를보여주는완전한예제를살펴보겠습니다。

% % MATLAB으로비디오읽어들이고처리하기%설정:视频读者와视频作家만들기videoFileReader = videereader (“tilted_face.avi”);myVideo = VideoWriter(“myFile.avi”);%설정:배포가능한비디오플레이어와얼굴식기만들기depVideoPlayer = vision.DeployableVideoPlayer;faceDetector = vision.CascadeObjectDetector();打开(myVideo);%%각프레임에서얼굴marketing식하기hasFrame (videoFileReader)비디오프레임읽어들이기videoFrame = readFrame(videoFileReader);프레임처리하기bbox = faceDetector(视频帧);视频框架=插入形状(视频框架,“矩形”, bbox);%화면에비디오프레임@ @시하기depVideoPlayer (videoFrame);최종비디오파일에프레임쓰기writeVideo (myVideo videoFrame);暂停(1 / videoFileReader.FrameRate);结束关上(myVideo)

이코드는MATLAB Central에서다운로드할수있습니다。

고급 기법

컴퓨터비전을위한비디오처리알고리즘

비디오처리를위해시간상관관계를사용하는MATLAB알고리즘은”상태”라는개념을기반으로합니다。상태는알고리즘이현재비디오프레임에대해작업하고있지만,이와동시에이전프레임들을사용하여출력값을정한다는개념입니다。이는이전정보를사용하여추후동작을결정하는객체추적알고리즘에서특히중요합니다。추적의일반적예로객체의개별점을추적하여객체의위치를추적하는KLT알고리즘을들수있습니다。

비디오처리알고리즘개발자는计算机视觉系统工具箱™의비전전용알고리즘도사용할수있습니다。이러한알고리즘을사용하면빠르고메모리효율적인방식으로고해상도비디오를읽고볼수있습니다。이툴박스에는3 d포인트클라우드처,리스테레오비전,객체검출,추적및인식및그밖의활용분야를위한알고리즘도포함되어있습니다。

비디오처리에대해자세히알아보기

GPU编码器를사용하여MATLAB으로작성된포그(雾)수정알고리즘에서CUDA코드를생성합니다。
FPGA비전처리알고리즘을하드웨어에타겟팅할때의고려사항,워크플로,기법등을알아볼수있습니다。
객체인식시스템을개발하면서흔히당면하는과제를MATLAB으로해결하는방법에관해알아보고딥러닝,머신러닝및컴퓨터비전을위한새로운기능을살펴볼수있습니다。