短视频app制作开发,图像去黑边、白边

背景
视频特征提取过程发现出现很多检索不到的问题,且对于拼接视频的检索也有问题。分析了下视频,发现原始视频是分辨率不一的,使用软件拼接后导致某些片段视频出现黑边,从而统一resize及提取ROI后的图像不完整,以至于特征提取不全,最终导致检索失败。

所以需要对短视频APP制作开发中,视频关键帧进行去边操作后再进行后续处理。

方法
1、Opencv-Python
短视频APP制作开发阈值筛选全局检测 去黑边
裁剪结果不完整 由于阈值函数的问题 不推荐
https://github.com/younkun/image_image-processing/blob/master/remove_BlackEdge.py
https://blog.csdn.net/qianqing13579/article/details/42323397

2、Opencv-Python
直方图标准差、转换二值图像、OTSU确定分割阈值、SOBEL算子边缘计算、NMS等算法实现
https://blog.csdn.net/u010333076/article/details/87900631

3、ffmpeg去黑边 自动裁剪
https://blog.csdn.net/rootusers/article/details/41674553
问题:自动滤镜怎么下载及编译ffmpeg?未研究

4、imagemagick 去黑边、白边

# 命令行方式
magick convert image-233.jpg -fuzz 10% -trim ../../test2.jpg
// C++代码实现
// @file: demo_trim.cpp
#include 
#include 
#include 

using namespace std;
using namespace Magick;

int main(int argc, char**argv)
{
     
    if(argc != 3)
    {
     
        cout << "Usage: ./trim input.jpg out.jpg\n";
        return -1;
    }
    string srcpath((const char*)argv[1]);
    string dstpath((const char*)argv[2]);
    
    Image image;
    try{
     
        image.read(srcpath);
        image.colorFuzz(0.15*QuantumRange);
        image.trim();
        image.display();
        image.write(dstpath);
    }
    catch(Exception &error_)
    {
     
        cout << "Caught exception: " << error_.what() << endl; 
        return 1; 
    }
    return 0;
}
cat Makefile
CPP:=g++ -g `Magick++-config --cxxflags --cppflags --ldflags --libs`
trim:demo_trim.cpp
	${
     CPP} $< -o $@
clean:
	rm -rf trim

以上就是关于短视频APP制作开发图像去黑白边全部的代码,更多信息欢迎关注之后的文章
本文转载自网络,转载仅为分享干货知识,如有侵权欢迎联系云豹科技进行删除处理

你可能感兴趣的:(技术类,c++,python,计算机视觉,java,人工智能)