На это можно было ответить, но я отчаянно нуждаюсь в ответе за это. Я хочу найти самый большой квадрат или прямоугольник в изображении с помощью OpenCV в Android. Все решения, которые я нашел, это С++, и я попытался преобразовать его, но он не работает, и я не знаю, где я ошибаюсь.
private Mat findLargestRectangle(Mat original_image) {
Mat imgSource = original_image;
Imgproc.cvtColor(imgSource, imgSource, Imgproc.COLOR_BGR2GRAY);
Imgproc.Canny(imgSource, imgSource, 100, 100);
//I don't know what to do in here
return imgSource;
}
То, что я пытаюсь сделать здесь, - создать новое изображение, основанное на самом большом квадрате, найденном в исходном изображении (возвращаемое значение Mat image).
Это то, что я хочу:
1 http://img14.imageshack.us/img14/7855/s7zr.jpg
Также хорошо, что я просто получаю четыре точки самого большого квадрата, и я думаю, что могу взять его оттуда. Но было бы лучше, если бы я мог просто вернуть обрезанное изображение.