现在我正在制作一部电影,其尺寸为640 x 480(4:3宽高比)。我正在编辑一个尺寸为1024x1024,1k分辨率的合成,我想要代理这个1k组合,但我想使代理尺寸为640 x 480.我编辑1k合成的原因是因为如果合成中有更大的空间,制作电影会更容易。
因此,我需要使用感兴趣的区域来裁剪原始的1k合成,但手动设置感兴趣的区域非常耗时。你知道如何准确地建立感兴趣的区域吗?我以为我将1k组合放入640x480组合并从中制作代理电影,但这意味着我需要制作更多组合来制作代理。这将使我的项目面板变得混乱......
答案 0 :(得分:0)
这类问题有开源和闭源解决方案。
对于开源解决方案,请查看crop filter from AForge.NET:
// create filter
Crop filter = new Crop( new Rectangle( 75, 75, 320, 240 ) );
// apply the filter
Bitmap newImage = filter.Apply( image );
您还可以查看LEADTOOLS这样的库,它们具有类似的静态图像裁剪滤镜:
// create filter
CropCommand command = new CropCommand(new LeadRect(100, 100, image.Width - 100, image.Height - 100));
// Crop 100 pixels from each side of the image
command.Run(image);
如果您使用DirectShow等框架进行编辑,则可以查看开源视频裁剪过滤器,例如http://videoprocessing.sourceforge.net/#crop或LEAD视频剪裁过滤器。
免责声明:我的雇主是LEAD Technologies,Inc。