C# 视频监控系列(7):服务器端——封装API(下) [DS40xxSDK.dll] (中)
2009-04-08 08:23:50 来源:WEB开发网#region 3.3视频信号设置(制式、状况、输入位置等)
/// <summary>
/// 3.3.1设置视频制式SetVideoStandard,此函数只对H卡有效
/// 说 明: 设置视频制式,在某一制式的摄像头已经接好的情况下启动系统时可不必调用该
/// 函数,如果没有接摄像头的情况下启动系统然后再接NTSC制式的摄像头则必须调用该函
/// 数,或者中途调换不同制式的摄像头也必须调用该函数。
///
/// int __stdcall SetVideoStandard(HANDLE hChannelHandle, VideoStandard_t VideoStandard)
/// </summary>
/// <param name="hChannelHandle">通道句柄</param>
/// <param name="VideoStandard">视频制式</param>
/// <returns>成功返回0;失败返回错误号</returns>
[DllImport("DS40xxSDK.dll")]
public static extern int SetVideoStandard(IntPtr hChannelHandle, VideoStandard_t VideoStandard);
/// <summary>
/// 3.3.2设置系统默认的视频制式SetDefaultVideoStandard
/// 注意:该函数只能在系统初始化(InitDSPs)之前运行,否则无效
/// 说 明: 设置系统默认的视频制式,系统中所有的视频输入通道如果无视频输入或者在系
/// 统启动的时候,通道会按照所设置的系统默认视频制式进行处理。
///
/// int __stdcall SetDefaultVideoStandard(VideoStandard_t VideoStandard)
/// </summary>
/// <param name="VideoStandard">视频制式,默认为PAL </param>
/// <returns>成功返回0;失败返回错误号</returns>
[DllImport("DS40xxSDK.dll")]
public static extern int SetDefaultVideoStandard(VideoStandard_t VideoStandard);
/// <summary>
/// 3.3.3设置视频信号灵敏度SetVideoDetectPrecision
/// 说 明: 设置视频信号检测的灵敏度。如果视频信号的强度比较弱,或者信号通断的切换
/// 比较频繁,会出现“无视频信号”的提示字样,为了避免提示字样影响图像,可以更改视频
/// 信号检测的灵敏度。灵敏度取值越大,检测精度越低,出现“无视频信号”提示字样的频率
/// 越低。当将value值设置为0xffffffff时,将不会再出现“无视频信号”的提示字样。
///
/// int __stdcall SetVideoDetectPrecision(HANDLE hChannel,unsigned int value)
/// </summary>
/// <param name="hChannel">通道句柄</param>
/// <param name="value">灵敏度。取值范围:0-100,默认为20</param>
/// <returns>成功返回0;失败返回错误号</returns>
[DllImport("DS40xxSDK.dll")]
public static extern int SetVideoDetectPrecision(IntPtr hChannel, uint value);
/// <summary>
/// 3.3.4获取视频信号输入情况GetVideoSignal
/// 说 明: 获取视频信号的输入情况,用于视频丢失报警
///
/// int __stdcall GetVideoSignal(HANDLE hChannelHandle)
/// </summary>
/// <param name="hChannelHandle">通道句柄</param>
/// <returns>信号正常返回0;返回其他值说明信号异常或有错误</returns>
[DllImport("DS40xxSDK.dll")]
public static extern int GetVideoSignal(IntPtr hChannelHandle);
/// <summary>
/// 3.3.5调整视频信号输入位置SetInputVideoPosition
/// 说 明: 设置视频信号的输入位置。(x,y)为系统处理图像的左上角在摄像机输入的原
/// 始图像中的坐标,某些摄像机输入的图像在预览时可能在左边会有黑边,可以通过此函数进
/// 行调节,x必须设置为2的整数倍。(x,y)的取值和摄像机的型号有关,如果指定的值和
/// 摄像机的输入参数不匹配,可能会导致图像静止、水平垂直方向滚动或者黑屏,请谨慎使用。
///
/// int __stdcall SetInputVideoPosition(HANDLE hChannel,UINT x,UINT y)
/// </summary>
/// <param name="hChannel">通道句柄</param>
/// <param name="x">X轴坐标,默认值为8</param>
/// <param name="y">Y轴坐标,默认值为2</param>
/// <returns>成功返回0;失败返回错误号</returns>
[DllImport("DS40xxSDK.dll")]
public static extern int SetInputVideoPosition(IntPtr hChannel, uint x, uint y);
/// <summary>
/// 3.3.6设置反隔行变换及强度SetDeInterlace
/// 说 明: 设置是否采用反隔行算法,已经采用反隔行时的强度
///
/// 释 义: 反隔行变换
/// 如果该通道的图像需要进行4CIF的预览或编码,此时的图像中会同时包含奇、偶两
/// 场的数据,由于奇场图像和偶场图像不同步,导致图像中运动的部分发生错位、边缘模糊,
/// 此时需要对图像进行反隔行变换来去掉这种现象。如果用户能够确定使用的是逐行扫描格式
/// 的摄像机,或者主要应用在静止场景,此时可以关掉反隔行变换功能,或者降低强度,这样
/// 可以提高系统运行效率,并降低反隔行变换对图像质量带来的损失。
///
/// int __stdcall SetDeInterlace(HANDLE hChannelHandle,UINT mode,UINT level)
/// </summary>
/// <param name="hChannelHandle">通道句柄</param>
/// <param name="mode">
/// 0表示该通道不进行反隔行变换,此时level参数无效;
/// 1表示使用旧的算法;
/// 2表示使用默认算法(系统默认值)。
/// </param>
/// <param name="level">
/// mode=1时有效,其它时无效。
/// 0-10,反隔行变换的强度逐渐加强,0最弱,对图像的损失最小,10最强,对图像的损失最大。
/// </param>
/// <returns>成功返回0;失败返回错误号</returns>
[DllImport("DS40xxSDK.dll")]
public static extern int SetDeInterlace(IntPtr hChannelHandle, uint mode, uint level);
#endregion
更多精彩
赞助商链接