Android OpenCV HoughLinesP Crashing

Я пытаюсь сделать простое приложение, чтобы обнаружить строку с OpenCV

Я основал свой код на примере кода opencv

Я редактировал только часть OnCameraFrame

вот что у меня есть:

public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
        Mat mRgba;
        mRgba = inputFrame.rgba();

        int thresh;
        double min;
        double max;

        Mat lines = new Mat();
        thresh = 50;
        min = 20;
        max = 20;
        Imgproc.HoughLinesP(mRgba, lines, 1, Math.PI/180, thresh, min, max);
        return mRgba;
    }

Приложение падает, но

если я удаляю эту строку, она работает без проблем:

Imgproc.HoughLinesP(mRgba, lines, 1, Math.PI/180, thresh, min, max);

Вот что я получаю, когда запускаю приложение:

http://pastebin.com/swGn7ZVJ

1 ответ

Решение

Первый параметр в этой функции Imgproc должен быть (из документов):

8-битное одноканальное двоичное исходное изображение.

Ваш mRgba - это 4-канальное изображение (красный, зеленый, синий и альфа). Преобразуйте его в серый (например, inputFrame.gray()).

Другие вопросы по тегам