1

オブジェクト (色付きの四角形) を検出するために openCV ライブラリを使用しています。私の問題はフレームレートが低いことです。私のデバイスは 4 コアの Samsung 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);
}

ご覧のとおり、1 つの浸食操作と 2 つの拡張操作を行い、640x480 の解像度で約 12 fps を取得しています... 何かアイデアはありますか?

4

0 に答える 0