函数
图像处理

包括图像显示、图像保存和图像格式转换接口等 更多...

函数

MV_CAMCTRL_API int __stdcall MV_CC_SaveImageEx3 (IN void *handle, IN OUT MV_SAVE_IMAGE_PARAM_EX3 *pstSaveParam)
 保存图片,支持Bmp和Jpeg. 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SaveImageToFileEx (IN void *handle, IN OUT MV_SAVE_IMAGE_TO_FILE_PARAM_EX *pstSaveFileParam)
 保存图像到文件 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SaveImageToFileEx2 (IN void *handle, IN MV_CC_IMAGE *pstImage, IN MV_CC_SAVE_IMAGE_PARAM *pSaveImageParam, IN const char *pcImagePath)
 保存图像到文件 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_RotateImage (IN void *handle, IN OUT MV_CC_ROTATE_IMAGE_PARAM *pstRotateParam)
 图像旋转 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_FlipImage (IN void *handle, IN OUT MV_CC_FLIP_IMAGE_PARAM *pstFlipParam)
 图像翻转 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_ConvertPixelTypeEx (IN void *handle, IN OUT MV_CC_PIXEL_CONVERT_PARAM_EX *pstCvtParam)
 像素格式转换 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCvtQuality (IN void *handle, IN unsigned int nBayerCvtQuality)
 设置插值算法类型 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerFilterEnable (IN void *handle, IN bool bFilterEnable)
 插值算法平滑使能设置 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerGammaValue (IN void *handle, IN float fBayerGammaValue)
 设置Bayer格式的Gamma值 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetGammaValue (IN void *handle, IN enum MvGvspPixelType enSrcPixelType, IN float fGammaValue)
 设置Mono8/Bayer8/10/12/16格式的Gamma值 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerGammaParam (IN void *handle, IN MV_CC_GAMMA_PARAM *pstGammaParam)
 设置Bayer格式的Gamma信息 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCCMParam (IN void *handle, IN MV_CC_CCM_PARAM *pstCCMParam)
 设置Bayer格式的CCM使能和矩阵,量化系数默认1024 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCCMParamEx (IN void *handle, IN MV_CC_CCM_PARAM_EX *pstCCMParam)
 设置Bayer格式的CCM使能和矩阵 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_ImageContrast (IN void *handle, IN OUT MV_CC_CONTRAST_PARAM *pstContrastParam)
 图像对比度调节 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_PurpleFringing (IN void *handle, IN MV_CC_PURPLE_FRINGING_PARAM *pstPurpleFringingParam)
 图像去紫边 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_SetISPConfig (void *handle, IN MV_CC_ISP_CONFIG_PARAM *pstParam)
 设置ISP参数 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_ISPProcess (void *handle, IN MV_CC_IMAGE *pstInputImage, MV_CC_IMAGE *pstOutputImage)
 对图像进行ISP算法处理 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_HB_Decode (IN void *handle, IN OUT MV_CC_HB_DECODE_PARAM *pstDecodeParam)
 无损解码 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_StartRecord (IN void *handle, IN MV_CC_RECORD_PARAM *pstRecordParam)
 开始录像 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_InputOneFrame (IN void *handle, IN MV_CC_INPUT_FRAME_INFO *pstInputFrameInfo)
 输入录像数据 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_StopRecord (IN void *handle)
 停止录像 更多...
 
MV_CAMCTRL_API int __stdcall MV_CC_ReconstructImage (IN void *handle, IN OUT MV_RECONSTRUCT_IMAGE_PARAM *pstReconstructParam)
 重构图像(用于分时曝光功能) 更多...
 

详细描述

包括图像显示、图像保存和图像格式转换接口等

函数说明

◆ MV_CC_SaveImageEx3()

MV_CAMCTRL_API int __stdcall MV_CC_SaveImageEx3 ( IN void *  handle,
IN OUT MV_SAVE_IMAGE_PARAM_EX3 pstSaveParam 
)

保存图片,支持Bmp和Jpeg.

参数
handle[IN] 设备句柄
pstSaveParam[IN][OUT] 保存图片参数结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
  • 通过该接口可以将从设备采集到的原始图像数据转换成JPEG或者BMP等格式并存放在指定内存中,然后用户可以将转换之后的数据直接保存成图片文件。
  • 该接口调用无接口顺序要求,有图像源数据就可以进行转换,可以先调用 MV_CC_GetOneFrameTimeout() 或者 MV_CC_RegisterImageCallBackEx() 设置回调函数,获取一帧图像数据,然后再通过该接口转换格式。
  • 该接口支持长乘宽至UINT_MAX,其中 MV_CC_SaveImageEx2() 支持长乘宽最大至 USHRT_MAX,JPEG格式最大支持宽高为65500。

◆ MV_CC_SaveImageToFileEx()

MV_CAMCTRL_API int __stdcall MV_CC_SaveImageToFileEx ( IN void *  handle,
IN OUT MV_SAVE_IMAGE_TO_FILE_PARAM_EX pstSaveFileParam 
)

保存图像到文件

参数
handle[IN] 设备句柄
pstSaveFileParam[IN][OUT] 保存图片文件参数结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
  • 该接口支持BMP/JPEG/PNG/TIFF。
  • 该接口支持保存的图像长乘宽至UINT_MAX, MV_CC_SaveImageToFile() 支持长乘宽最大至USHRT_MAX。JPEG格式最大支持宽高为65500 px。
  • 该接口是 MV_CC_SaveImageToFile() 接口的扩展接口。

◆ MV_CC_SaveImageToFileEx2()

MV_CAMCTRL_API int __stdcall MV_CC_SaveImageToFileEx2 ( IN void *  handle,
IN MV_CC_IMAGE pstImage,
IN MV_CC_SAVE_IMAGE_PARAM pSaveImageParam,
IN const char *  pcImagePath 
)

保存图像到文件

参数
handle[IN] 设备句柄
pstImage[IN] 图像信息
pSaveImageParam[IN] 存图参数
pcImagePath[IN] 存图路径,Windows平台长度不超过260字节,Linux平台不超过255字节
返回
成功,返回MV_OK;失败,返回状态码
备注
  • 该接口支持4G以上超大图的PNG/TIFF存图,非超大图像支持BMP/JPEG/TIFF/PNG。
  • JPEG格式最大支持宽高为65500 px。
示例
ImageSave.cpp , 以及 MultiLightCtrl_ImageStitching.cpp.

◆ MV_CC_RotateImage()

MV_CAMCTRL_API int __stdcall MV_CC_RotateImage ( IN void *  handle,
IN OUT MV_CC_ROTATE_IMAGE_PARAM pstRotateParam 
)

图像旋转

参数
handle[IN] 设备句柄
pstRotateParam[IN][OUT] 图像旋转参数结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口只支持MONO8/RGB24/BGR24格式数据的90/180/270度旋转。

◆ MV_CC_FlipImage()

MV_CAMCTRL_API int __stdcall MV_CC_FlipImage ( IN void *  handle,
IN OUT MV_CC_FLIP_IMAGE_PARAM pstFlipParam 
)

图像翻转

参数
handle[IN] 设备句柄
pstFlipParam[IN][OUT] 图像翻转参数结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
该接口只支持MONO8/RGB24/BGR24格式数据的垂直和水平翻转。

◆ MV_CC_ConvertPixelTypeEx()

MV_CAMCTRL_API int __stdcall MV_CC_ConvertPixelTypeEx ( IN void *  handle,
IN OUT MV_CC_PIXEL_CONVERT_PARAM_EX pstCvtParam 
)

像素格式转换

参数
handle[IN] 设备句柄
pstCvtParam[IN][OUT] 像素格式转换参数结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
  • 通过该接口可以将从设备采集到的原始图像数据转换成用户所需的像素格式并存放在指定内存中。
  • 该接口调用无接口顺序要求,有图像源数据就可以进行转换,可以先调用 MV_CC_GetOneFrameTimeout() 或者 MV_CC_RegisterImageCallBackEx() 设置回调函数,获取一帧图像数据,然后再通过该接口转换格式。如果设备当前采集图像是JPEG压缩的格式,则不支持调用该接口进行转换。
  • 该接口支持转换的图像长乘宽至UINT_MAX。
  • 像素格式转换能力的详情,如下表所示。第一列为输入像素格式,第一行为转换后的像素格式。“ √ ”代表可以转换为目标像素格式。
    输入格式\输出格式 Mono8 RGB24 BGR24 RGB8 Planar YUV422 YV12 YUV422 YUYV
    Mono8 × × ×
    Mono10 × ×
    Mono10P × ×
    Mono12 × ×
    Mono12P × ×
    BayerGR8 ×
    BayerRG8 ×
    BayerGB8 ×
    BayerBG8 ×
    BayerRBGG8 × × × × ×
    BayerGR10 × ×
    BayerRG10 × ×
    BayerGB10 × ×
    BayerBG10 × ×
    BayerGR12 × ×
    BayerRG12 × ×
    BayerGB12 × ×
    BayerBG12 × ×
    BayerGR10P × ×
    BayerRG10P × ×
    BayerGB10P × ×
    BayerBG10P × ×
    BayerGR12P × ×
    BayerRG12P × ×
    BayerGB12P × ×
    BayerBG12P × ×
    RGB8P × × ×
    BGR8P × × ×
    YUV422P × × ×
    YUV422 YUYV × ×

◆ MV_CC_SetBayerCvtQuality()

MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCvtQuality ( IN void *  handle,
IN unsigned int  nBayerCvtQuality 
)

设置插值算法类型

参数
handle[IN] 设备句柄
nBayerCvtQuality[IN] Bayer的插值方法 0-快速 1-均衡(默认为均衡) 2-最优 3-最优+
返回
成功,返回MV_OK;失败,返回状态码
备注
设置内部图像转换接口的Bayer插值算法类型参数, MV_CC_ConvertPixelTypeEx()MV_CC_GetImageForRGB()MV_CC_GetImageForBGR() 接口内部使用的插值算法是该接口所设定的。
示例
ImageProcess.cpp.

◆ MV_CC_SetBayerFilterEnable()

MV_CAMCTRL_API int __stdcall MV_CC_SetBayerFilterEnable ( IN void *  handle,
IN bool  bFilterEnable 
)

插值算法平滑使能设置

参数
handle[IN] 设备句柄
bFilterEnable[IN] 平滑使能(默认关闭)
返回
成功,返回::MV_OK;错误,返回错误码
备注
设置内部图像转换接口的贝尔插值平滑使能参数, MV_CC_ConvertPixelTypeEx()MV_CC_SaveImageEx3()MV_CC_SaveImageToFileEx() 内部使用的插值算法是该接口所设定的。

◆ MV_CC_SetBayerGammaValue()

MV_CAMCTRL_API int __stdcall MV_CC_SetBayerGammaValue ( IN void *  handle,
IN float  fBayerGammaValue 
)

设置Bayer格式的Gamma值

参数
handle[IN] 设备句柄
fBayerGammaValue[IN] Gamma值:0.1 ~ 4.0
返回
成功,返回MV_OK;失败,返回状态码
备注
设置该值后,在Bayer图像(Bayer8/10/12/16)转RGB/BGR图像(RGB24/48、RGBA32/64、BGR24/48、BGRA32/64)时起效。
相关接口: MV_CC_ConvertPixelTypeEx()MV_CC_SaveImageEx3()MV_CC_SaveImageToFile()

◆ MV_CC_SetGammaValue()

MV_CAMCTRL_API int __stdcall MV_CC_SetGammaValue ( IN void *  handle,
IN enum MvGvspPixelType  enSrcPixelType,
IN float  fGammaValue 
)

设置Mono8/Bayer8/10/12/16格式的Gamma值

参数
handle[IN] 设备句柄
MvGvspPixelTypeenSrcPixelType [IN] 像素格式,支持Mono8, Bayer(Bayer8/10/12/16)
fGammaValue[IN] Gamma值:0.1 ~ 4.0
返回
成功,返回MV_OK;失败,返回状态码
备注

◆ MV_CC_SetBayerGammaParam()

MV_CAMCTRL_API int __stdcall MV_CC_SetBayerGammaParam ( IN void *  handle,
IN MV_CC_GAMMA_PARAM pstGammaParam 
)

设置Bayer格式的Gamma信息

参数
handle[IN] 设备句柄
pstGammaParam[IN] Gamma信息
返回
成功,返回MV_OK;失败,返回状态码
备注
设置该值后,在Bayer图像(Bayer8/10/12/16)转RGB/BGR图像(RGB24/48、RGBA32/64、BGR24/48、BGRA32/64)时起效。 相关接口: MV_CC_ConvertPixelTypeEx()MV_CC_SaveImageEx3()MV_CC_SaveImageToFileEx()
注解
以相机实际支持情况为准。

◆ MV_CC_SetBayerCCMParam()

MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCCMParam ( IN void *  handle,
IN MV_CC_CCM_PARAM pstCCMParam 
)

设置Bayer格式的CCM使能和矩阵,量化系数默认1024

参数
handle[IN] 设备句柄
pstCCMParam[IN] CCM参数
返回
成功,返回MV_OK;失败,返回状态码
备注
开启CCM并设置CCM矩阵后,在Bayer图像(Bayer8/10/12/16)转RGB/BGR图像(RGB24/48、RGBA32/64、BGR24/48、BGRA32/64)时起效。 相关接口: MV_CC_ConvertPixelTypeEx()MV_CC_SaveImageEx3()MV_CC_SaveImageToFileEx()

◆ MV_CC_SetBayerCCMParamEx()

MV_CAMCTRL_API int __stdcall MV_CC_SetBayerCCMParamEx ( IN void *  handle,
IN MV_CC_CCM_PARAM_EX pstCCMParam 
)

设置Bayer格式的CCM使能和矩阵

参数
handle[IN] 设备句柄
pstCCMParam[IN] CCM参数
返回
成功,返回MV_OK;失败,返回状态码
备注
开启CCM并设置CCM矩阵后,在Bayer图像(Bayer8/10/12/16)转RGB/BGR图像(RGB24/48、RGBA32/64、BGR24/48、BGRA32/64)时起效。 相关接口: MV_CC_ConvertPixelTypeEx()MV_CC_SaveImageEx3()MV_CC_SaveImageToFileEx()

◆ MV_CC_ImageContrast()

MV_CAMCTRL_API int __stdcall MV_CC_ImageContrast ( IN void *  handle,
IN OUT MV_CC_CONTRAST_PARAM pstContrastParam 
)

图像对比度调节

参数
handle[IN] 设备句柄
pstContrastParam[IN][OUT] 对比度调节参数
返回
成功,返回MV_OK;失败,返回状态码
备注

◆ MV_CC_PurpleFringing()

MV_CAMCTRL_API int __stdcall MV_CC_PurpleFringing ( IN void *  handle,
IN MV_CC_PURPLE_FRINGING_PARAM pstPurpleFringingParam 
)

图像去紫边

参数
handle[IN] 设备句柄
pstPurpleFringingParam[IN][OUT] 去紫边参数
返回
成功,返回MV_OK;失败,返回状态码
备注
像素格式仅支持PixelType_Gvsp_RGB8_Packed和PixelType_Gvsp_BGR8_Packed

◆ MV_CC_SetISPConfig()

MV_CAMCTRL_API int __stdcall MV_CC_SetISPConfig ( void *  handle,
IN MV_CC_ISP_CONFIG_PARAM pstParam 
)

设置ISP参数

参数
handle[IN] 设备句柄
pstParam[IN] ISP配置参数
返回
成功,返回MV_OK;失败,返回状态码

◆ MV_CC_ISPProcess()

MV_CAMCTRL_API int __stdcall MV_CC_ISPProcess ( void *  handle,
IN MV_CC_IMAGE pstInputImage,
MV_CC_IMAGE pstOutputImage 
)

对图像进行ISP算法处理

参数
handle[IN] 设备句柄
pstInputImage[IN] 输入图像结构体
pstOutputImage[IN][OUT] 输出图像结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
需要先调用 MV_CC_SetISPConfig() 传入配置文件, 配置文件由ISP工具生成

◆ MV_CC_HB_Decode()

MV_CAMCTRL_API int __stdcall MV_CC_HB_Decode ( IN void *  handle,
IN OUT MV_CC_HB_DECODE_PARAM pstDecodeParam 
)

无损解码

参数
handle[IN] 设备句柄
pstDecodeParam[IN][OUT] 无损解码参数结构体
返回
成功,返回MV_OK;失败,返回状态码
备注
将从相机中取到的无损压缩码流解码成裸数据,同时支持解析当前相机实时图像的水印信息(如果输入的无损码流不是当前相机或者不是实时取流的,则水印解析可能异常); 若解码失败,请检查以下情况:
  • CPU是否支持 SSE AVX指令集。
  • 当前帧是否异常(丢包等),若存在,可能导致解码异常。
  • 相机出图是否异常,即使不丢包也会异常。
示例
HighBandwidthDecode.cpp, ImageSave.cpp , 以及 MultiLightCtrl_ImageStitching.cpp.

◆ MV_CC_StartRecord()

MV_CAMCTRL_API int __stdcall MV_CC_StartRecord ( IN void *  handle,
IN MV_CC_RECORD_PARAM pstRecordParam 
)

开始录像

参数
handle[IN] 设备句柄
pstRecordParam[IN] 录像参数结构体
返回
成功,返回MV_OK;失败,返回状态码
注解
该接口最大支持Width×Height为8000×8000大小,最小支持96×96。若超出,会导致调用 MV_CC_InputOneFrame() 错误。

◆ MV_CC_InputOneFrame()

MV_CAMCTRL_API int __stdcall MV_CC_InputOneFrame ( IN void *  handle,
IN MV_CC_INPUT_FRAME_INFO pstInputFrameInfo 
)

输入录像数据

参数
handle[IN] 设备句柄
pstInputFrameInfo[IN] 录像数据结构体
返回
成功,返回MV_OK;失败,返回状态码

◆ MV_CC_StopRecord()

MV_CAMCTRL_API int __stdcall MV_CC_StopRecord ( IN void *  handle)

停止录像

参数
handle[IN] 设备句柄
返回
成功,返回MV_OK;失败,返回状态码

◆ MV_CC_ReconstructImage()

MV_CAMCTRL_API int __stdcall MV_CC_ReconstructImage ( IN void *  handle,
IN OUT MV_RECONSTRUCT_IMAGE_PARAM pstReconstructParam 
)

重构图像(用于分时曝光功能)

参数
handle[IN] 设备句柄
pstReconstructParam[IN][OUT] 重构图像参数
返回
成功,返回MV_OK;失败,返回状态码
备注
图像分割功能可将多个不同曝光值所对应的图像交叠合并为1张图像。
使用时,需与线阵相机的“MultiLightControl”节点搭配。假设设置该节点为2,则相机会将2个不同曝光值所对应的两张图像交叠合并为1张图像(实际高度为2张图像的高度)发送给上层应用程序。
此时,调用该接口并传入分时曝光值nExposureNum为2,可将相机发送的1张图像分割为2张图像,并且这2张图像分别对应1个曝光值。
若使用普通相机或未打开线阵相机的“MultiLightControl”节点,且nExposureNum设置为n,则图像分割无意义,只是将图像按行分割为n张图像,每张图像的高度变为原图像的1/n。
示例
MultiLightCtrl_ImageStitching.cpp.