deepstream 使用nvvideoconvert插件实现图片裁剪
nvvideoconvert插件功能:图片格式转换,裁剪,填充
图片裁剪实现方法:
在pipeline中加入nvvideoconvert插件,设置nvvideoconvert的src-crop性质为感兴趣区域,代码如下:
std::string crop_str = "462:265:845:815";
//std::string crop_str = "0:265:800:800";
nvvidconvcrop = gst_element_factory_make("nvvideoconvert", "nvvideo-converter2");
//g_object_set(G_OBJECT(nvvidconvcrop), "src-crop",crop_str.c_str(),"dest-crop",crop_str.c_str(), NULL);
g_object_set(G_OBJECT(nvvidconvcrop),"interpolation-method", 0, "gpu-id",0,"src-crop",crop_str.c_str(), "compute-hw", 1, NULL);
可以在终端输入gst-inspect-1.0 "nvvideoconvert" 查看nvvideoconvert的属性
gpu-id: GPU Id
interpolation-method: 插值方法 default 6
(0): Nearest - 最近邻差值
(1): Bilinear - 双线性差值
(2): Algo-1 - GPU - Cubic, VIC - 5 Tap
(3): Algo-2 - GPU - Super, VIC - 10 Tap
(4): Algo-3 - GPU - LanzoS, VIC - Smart
(5): Algo-4 - GPU - Ignored, VIC - Nicest
(6): Default - GPU - Nearest, VIC - Nearest
src-crop:裁剪 Default: "0:0:0:0"
dest-crop: 缩放 Default: "0:0:0:0"
compute-hw:计算宽高 Default: 0, "Default"
(0): Default - Default, GPU for Tesla, VIC for Jetson
(1): GPU - GPU
(2): VIC - VIC