Witam, w trakcie pracy nad projektem natknąłem się na taki problem. Posiadając takie oto zdjęcie tablicy:

Chciałbym zostawić tylko biały prostokąt z literami, coś w tym stylu:

Leczy niestety udaje mi się jedynie coś takiego:

Co nie do końca jest tym, czego oczekuję.
Oto kod za pomocą którego staram się tego osiągnąć przy użyciu OpenCV:
Mat copy = new Mat();
doneImg.copyTo(copy);
Mat hierarchy = new Mat();
List<MatOfPoint> contours = new ArrayList<>();
Imgproc.findContours(copy, contours, hierarchy, Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);
for (MatOfPoint mop : contours) {
Mat temp = new Mat();
mop.copyTo(temp);
double test = Imgproc.contourArea(temp);
System.out.println(test);
if (test > 50000.0) {
MatOfPoint2f mop2f = new MatOfPoint2f(mop.toArray());
RotatedRect rr = Imgproc.minAreaRect(mop2f);
double height = rr.size.height;
rr.size.height = rr.size.width;
rr.size.width = height;
Mat crop = new Mat();
Imgproc.getRectSubPix(doneImg, rr.size, rr.center, crop);
Highgui.imwrite("foundPlate\\crop" + test + ".jpg", crop);
}
}
Czy ktoś wie jak usprawnić mój kod? Będę wdzięczny za każdą pomoc.