我正在使用openCV库来检测对象(彩色方块)。 我的问题是帧率低。 我的设备是4核三星Galaxy S3。
这是我的代码的一部分,它大大降低了帧速率:
public void morphOps(Mat filteredFrame)
{
erosion_size = morphSeekBars[0].getRealProgress();
dilation_size = morphSeekBars[1].getRealProgress();
//create structuring element that will be used to "dilate" and "erode" image.
erodeElement = Imgproc.getStructuringElement( Imgproc.MORPH_ERODE, new Size(2 * erosion_size + 1, 2 * erosion_size + 1), new Point(erosion_size, erosion_size));
Imgproc.erode(filteredFrame, filteredFrame, erodeElement);
//dilate with larger element so make sure object is nicely visible
dilateElement = Imgproc.getStructuringElement( Imgproc.MORPH_RECT, new Size(2 * dilation_size + 1, 2 * dilation_size + 1), new Point(dilation_size/2, dilation_size/2));
Imgproc.dilate(filteredFrame, filteredFrame, dilateElement);
Imgproc.dilate(filteredFrame, filteredFrame, dilateElement);
}
正如你所看到我做了一次侵蚀和两次扩张操作,并且在640x480分辨率下我得到了12 fps ......有什么想法吗?