Click or drag to resize
XDL

NXVideoView Class

NXVideoView클래스는 비디오 영상을 도시하기 위한 Control 객체를 생성한다.
Inheritance Hierarchy

Namespace:  Pixoneer.NXDL.NXVideo
Assembly:  NXVideo (in NXVideo.dll) Version: 2.0.3.31
Syntax
C#
public class NXVideoView : UserControl

The NXVideoView type exposes the following members.

Constructors
  NameDescription
Public methodNXVideoView
NXVideoView클래스의 기본 생성자로서, 내부 멤버 변수의 초기화를 수행한다.
Top
Properties
  NameDescription
Public propertyAutoZoomFit
회전이나 다른 화면 변환을 하지 않았을 때 화면에 맞게 배율을 조정한다.
Public propertyBackgroundColor
Video도시 화면의 배경색을 설정한다.
Public propertyBlankMode
비디오 화면을 보이지 않는 모드.
Public propertyBrightness
비디오 프레임의 밝기(Brightness) 값을 설정한다. (원본 상태: 1.0, 권장 범위: 0~2)
Public propertyContrast
비디오 프레임의 대조비(Contrast) 값을 설정한다. (원본 상태: 1.0, 권장 범위: 0~2)
Public propertyCoordSystem
비디오뷰 영상 좌표계.
Public propertyDefaultMetadataOverlay
기본 메타데이터 중첩도시 레이어를 얻는다.
Public propertyEnableHDR
비디오 프레임의 동적 명암비(HDR) 처리를 활성화한다.
Public propertyEnableStabilizeMetadata
동영상 안정화 사용자 확장 메타데이터의 프레임 변환 사용 여부를 설정한다. 메타데이터에서 프레임 변환 행렬을 얻으면 XFramePicture에 설정된 변환을 무시한다.
Public propertyFilterSize
필터 적용시 Filter 크기를 설정한다. 필터 크기는 5 이하가 적당하다.
Public propertyFilterType
그래픽 쉐이더를 이용한 영상처리 필터를 설정한다. 최종 설정된 필터만 적용되며 None 값으로 필터를 해제한다.
Public propertyFrameCapture
프레임 갈무리 버퍼. 프레임 갈무리 버퍼를 지정하면 렌더 화면을 프레임버퍼(FBO)를 써서 그리고 저장한다.
Public propertyFrameCropBottom
입력 동영상 프레임에서 잘라낼 아랫쪽 여백 크기.
Public propertyFrameCropLeft
입력 동영상 프레임에서 잘라낼 왼쪽 여백 크기.
Public propertyFrameCropRight
입력 동영상 프레임에서 잘라낼 오른쪽 여백 크기.
Public propertyFrameCropTop
입력 동영상 프레임에서 잘라낼 윗쪽 여백 크기.
Public propertyFrameTransform
개별 프레임의 변환 적용 여부를 설정한다.
Public propertyGammaFactor
비디오 프레임의 감마 조정 인자를 설정한다. (기본값: 1.0)
Public propertyPostProcessingCapture
후처리 비디오 프레임 갈무리 버퍼. 쉐이더 영상 처리가 적용된 프레임을 갈무리하여 얻는다.
Public propertyRefreshInterval
동영상 재생과 무관하게 화면을 갱신하는 기간 간격을 밀리초 지정한다. 비디오뷰 쓰레드에서 렌더 콜백 함수가 불리므로 재생 상태 확인 등에 활용할 수 있다.
Public propertyRenderedFramePts
화면에 그린 비디오 프레임 PTS를 얻는다.
Public propertyRotation
Video도시 화면의 회전 각도를 설정한다. 회전 각도 설정시 비디오가 회전되어 도시된다.
Public propertySaturation
비디오 프레임의 채도(Saturation) 값을 설정한다. (원본 상태: 1.0, 권장 범위: 0~2)
Public propertyScale
Video도시 화면의 확대/축소 비율을 설정한다.
Public propertySharpenSigma
비디오 프레임의 선명화 필터 강도(Sigma)를 설정한다. 0인 경우 필터를 해제한다. (권장 범위: 0~2, 기본값: 0.5)
Public propertyShowInfo
비디오 재생 시 내부 프레임 정보를 표시한다.
Public propertyShowMetadataOverlay
비디오 재생 시 MISB ST 1909에 따른 메타데이터 중첩도시 정보를 표시한다.
Public propertyTranslation
Video도시 화면의 이동 값을 설정한다.
Public propertyUseShader
Shader를 사용하는지를 확인한다.
Top
Methods
  NameDescription
Public methodAddRenderLayer
뷰에 레이어를 추가한다.
Public methodCallDrawLastFrame
비디오 프레임을 다른 화면에 그리기 위하여 렌더링 요청을 한다. 이 때 모든 모델/투영 행렬은 설정이 완료된 상태라고 가정하고 입력되는 좌표로 직접 그리기 명령을 내보낸다. Warping 효과를 주기 위하여 격자 형태의 좌표를 입력받는데 테두리 점들이 반드시 입력에 포함되어야 한다.
Public methodCaptureFrame
화면에 그린 비디오 프레임을 텍스처로 얻는다.
Public methodEnableVideoFusion
영상 융합 활성화 여부를 설정한다. 융합이 활성화되면 융합 영상이 도시된다.
Public methodGetDrawArgs
비디오뷰 그리기 인자를 얻는다.
Public methodGetHandle
비디오뷰 윈도 핸들을 얻는다.
Public methodGetScreenPixel
비디오뷰 패널 화면 좌표에 해당하는 화소 색상값을 얻는다. 프레임 영역 밖인 경우 배경 색상을 반환한다.
Public methodGetVideoChannel
비디오뷰에 설정한 채널을 얻는다.
Public methodGetWorldPixel
비디오뷰 영상(World) 좌표에 해당하는 화소 색상값을 얻는다. 프레임 영역 밖인 경우 배경 색상을 반환한다.
Public methodIsUnderMouse
이 비디오뷰가 마우스 커서 아래에 있는지 확인한다.
Public methodRefreshScreen
스크린을 갱신한다.
Public methodRemoveRenderLayer
뷰에 레이어를 분리한다.
Public methodRequestRender
렌더 요청 식별자를 지정하여 화면 갱신을 요청한다. 갈무리 버퍼가 연결된 경우 지정한 식별자가 갈무리 버퍼 프레임 식별자로 설정된다.
Public methodResetVideoChannel
비디오뷰에 설정한 채널을 없앤다.
Public methodResetVideoChannelFuse
영상 융합 보조 채널을 해제한다.
Public methodScreenToWorld
비디오뷰 패널 화면(Screen) 화소 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSetFusionReference(XAngle, XAngle)
영상 융합을 위한 정합 참조 정보를 설정한다. 영상 중심점이 일치한다고 가정하고 두 영상의 화각만 지정한다.
Public methodSetFusionReference(Single, Single, Single)
영상 융합을 위한 정합 참조 정보를 설정한다. 영상 간 화소 크기 비율과 영상 중심점 대응 편차를 지정한다.
Public methodSetFusionReference(XAngle, XAngle, XVertex2d, XVertex2d)
영상 융합을 위한 정합 참조 정보를 설정한다. 두 영상의 화각과 각각의 대응정 영상 좌표를 지정한다.
Public methodSetFusionWithSensorModel
영상 융합에서 영상 정합을 위한 센서모델 사용 여부를 설정한다.
Public methodSetUnderMouse
이 비디오뷰가 마우스 커서 아래에 있는 상태를 설정한다. 내부 엔진에서 호출되며 사용자가 호출할 필요가 없다.
Public methodSetVideoChannel(XVideoChannel)
비디오뷰에 재생할 비디오 채널을 설정한다.
Public methodSetVideoChannel(XVideo, Int32)
비디오뷰에 재생할 비디오 채널을 설정한다.
Public methodSetVideoChannelFuse
영상 융합 보조 채널을 설정한다.
Public methodSetVigentte
비네팅 효과 완화 필터를 설정한다.
Public methodSpaceToWorld(XGeoPoint, XVertex2d)
현재 프레임에서 지구상의 지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSpaceToWorld(XVertex3d, XVertex2d)
현재 프레임에서 지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSpaceToWorld(Int64, XGeoPoint, XVertex2d)
지구상의 지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodSpaceToWorld(Int64, XVertex3d, XVertex2d)
지리공간(Space) 좌표를 비디오뷰 영상(World) 좌표로 변환한다.
Public methodTrimFuseChannel
영상 융합 보조 채널의 불필요한 외곽영역을 제거한다.
Public methodWorldToScreen
비디오뷰 영상(World) 좌표를 비디오뷰 패널 화면(Screen) 화소 좌표로 변환한다.
Public methodWorldToSpace(XVertex2d, XGeoPoint)
현재 프레임에서 비디오뷰 영상(World) 좌표를 지구상의 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(XVertex2d, XVertex3d)
현재 프레임에서 비디오뷰 영상(World) 좌표를 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(Int64, XVertex2d, XGeoPoint)
비디오뷰 영상(World) 좌표를 지구상의 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(Int64, XVertex2d, XVertex3d)
비디오뷰 영상(World) 좌표를 지리공간(Space) 좌표로 변환한다.
Public methodWorldToSpace(XVertex2d, Double, XGeoPoint)
현재 프레임에서 비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지구상의 지리공간(Space) 좌표를 구한다.
Public methodWorldToSpace(XVertex2d, Double, XVertex3d)
현재 프레임에서 비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지리공간(Space) 좌표를 구한다.
Public methodWorldToSpace(Int64, XVertex2d, Double, XGeoPoint)
비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지구상의 지리공간(Space) 좌표를 구한다.
Public methodWorldToSpace(Int64, XVertex2d, Double, XVertex3d)
비디오뷰 영상(World) 좌표와 주어진 고도에 대응하는 지리공간(Space) 좌표를 구한다.
Top
Examples
This is example #1:
XVideoIO m_VideoIO;
XVideo m_Video;
XVideoChannel m_channel;

public FormVideoView()
{
    InitializeComponent();
}

private void FormVideo_Load(object sender, EventArgs e)
{
    m_Video = null;
    m_VideoIO = new XVideoIO();

    string strPath = "D:\\Sample\\Video\\2015_08_18_00_00_00.ts";
    string strError = null;
    m_Video = m_VideoIO.OpenFile(strPath, "XFFMPDRIVER", out strError);

    if (m_Video == null)
    {
        MessageBox.Show(strError);
        return;
    }

    int nIdxChannel = 0;
    nxVideoView1.SetVideoChannel(m_Video, nIdxChannel);

    m_channel = m_Video.GetChannel(nIdxChannel);

    if (m_channel == null)
    {
        MessageBox.Show("Channel is not valid");
    }

    m_channel.Activate();
    m_channel.Play();
}

private void FormVideoView_FormClosing(object sender, FormClosingEventArgs e)
{
    nxVideoView1.ResetVideoChannel();
    if (m_Video != null)
        m_Video.Close();
}
See Also