裁剪具有定义的宽度、长度和像素位置的视频文件
Cropping a video file with defined width, length, and pixel location
我正在尝试创建一个程序来检测视频中的人脸。在我接受"脸"之前,有几个要求必须通过。在所有的要求都得到满足之后,我想要把"脸"的帧进行裁剪,使脸成为焦点区域。程序会遍历每一帧,然后将新视频制作成视频文件。
我从来没有处理过视频文件或图像文件,所以这对我来说都是新的。我目前正在编写所有用于确定人脸是否被接受的算法,以及人脸的定位。我也有一个视频处理器,这是我在这个项目中得到的。视频处理器用于检测人脸。如果有一个检测到的脸,视频将在一个红色矩形中标记脸,并给我脸的x和y轴,以及脸的长度和宽度。
程序中我完全不知道如何做的唯一区域是面部的实际裁剪,以及新框架(聚焦于面部)在原始框架上的位置。
我也不知道如何制作视频文件。我假设它与创建文本文件一样,只是使用了不同的方法和类。这是正确的吗?如果不是,我该如何处理?
我仍然处于设计阶段(我有视频处理器和其余程序的设计,但我想确保我能够在我告诉那个家伙我可以做到之前裁剪和放置脸部)。我有视频处理器的代码(它很长,但我可以张贴一些方法,如果需要)。
有什么好的资源可以让我看看或建议吗?
(我不知道这个最好的标签。
您有几个选择。如果你想在运行应用程序之前对视频进行预处理(如果它是某种不寻常的格式),我建议使用VirtualDub。据我所知,你可以在控制台运行它。如果你的视频是标准格式的,你可以忽略这一段。
对于应用程序本身,我建议使用OpenCV(因为它是你做这类事情时常用的工具)。我建议你阅读这个很棒的教程。然后,OpenCV允许你"逐帧"浏览视频。
裁剪本身然后通过所谓的ROI完成。如果我没理解错的话,你是想用图片制作一个新的视频。稍后,当你将尝试OpenCV,你可能不需要这个提示了,但看看函数cvCreateVideoWriter和cvWriteFrame
- 如何在不产生任何垃圾的情况下获得C中的像素
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 如何在24位SDL_Surface上设置像素的颜色
- 如何从SDL_Surface获取特定像素的颜色
- 如何将CMSampleBufferRef/CIImage/UIImage转换为像素,例如uint8_t[]
- 在C++中查找像素 RGB 数据的最快方法是什么?
- 是否可以从 OpenGL 缓冲区获取原始大小的像素?
- 他们如何将红外锁定像素转换为镜头前方 1m 的正常平面上的位置
- 使用GDAL在FAA部分上找到像素位置
- 具有特定颜色的像素不在 SFML 中放置的位置
- CIMG立方子像素位置
- 如何查找黑色像素位置
- C/C++LIBTIFF:需要从BW TIFF文件中读取白色和黑色像素的像素位置
- 我如何知道像素的位置与相机的相应位置(以厘米或毫米为单位)
- 将图像重新映射到不同大小并查找像素位置
- 获取投影图像像素位置
- OpenGL以像素为单位定义顶点位置
- QGraphicsScene图像位置像素图
- OpenGL ES-从相机位置获取2D像素坐标
- 裁剪具有定义的宽度、长度和像素位置的视频文件