【发布时间】:2024-01-08 00:11:01
【问题描述】:
我正在处理视频的帧,我想从其他帧中减去一帧以找出差异,但我不知道如何继续。我尝试将我的位图帧转换为垫子,然后减去它们,但它不起作用。我正在将 opencv 2.4.3 用于 mat 函数。谁能告诉我该怎么做。如果可能的话,用代码 sn-ps 解释一下。
我试过这样的
Bitmap myBitmap1 = BitmapFactory.decodeFile("/mnt/sdcard/Frames/mpgFrames/image001.jpg");
Bitmap myBitmap2 = BitmapFactory.decodeFile("/mnt/sdcard/Frames/mpgFrames/image002.jpg");
int width = myBitmap1.getWidth();
int height = myBitmap1.getHeight();
Mat imgToProcess1 = new Mat(height, width, CvType.CV_8UC4);
Mat imgToProcess2 = new Mat(height, width, CvType.CV_8UC4);
Mat imgToProcess = new Mat(height, width, CvType.CV_8UC4);
Utils.bitmapToMat(myBitmap1, imgToProcess1);
Utils.bitmapToMat(myBitmap2, imgToProcess1);
imgToProcess = imgToProcess1-imgToProcess2;
【问题讨论】:
-
你遇到this problem了吗?你可以直接用
imread读取文件吗? -
当我在这里时,我建议您可能想要使用
absdiff,而不是仅仅减去矩阵。 -
谢谢先生..我尝试了 absdiff() 及其现在的工作... +1 :)
-
太棒了!我会给出一个答案,以防万一其他人遇到这个问题。
标签: android opencv frame subtraction