mirror of
https://github.com/kerberos-io/openalpr-base.git
synced 2025-10-06 18:32:45 +08:00
Using better interpolation method for deskew. Added timing
This commit is contained in:
@@ -99,6 +99,10 @@ vector<Point2f> LicensePlateCandidate::transformPointsToOriginalImage(Mat bigIma
|
|||||||
|
|
||||||
Mat LicensePlateCandidate::deSkewPlate(Mat inputImage, vector<Point2f> corners)
|
Mat LicensePlateCandidate::deSkewPlate(Mat inputImage, vector<Point2f> corners)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
timespec startTime;
|
||||||
|
getTime(&startTime);
|
||||||
|
|
||||||
// Figure out the appoximate width/height of the license plate region, so we can maintain the aspect ratio.
|
// Figure out the appoximate width/height of the license plate region, so we can maintain the aspect ratio.
|
||||||
LineSegment leftEdge(round(corners[3].x), round(corners[3].y), round(corners[0].x), round(corners[0].y));
|
LineSegment leftEdge(round(corners[3].x), round(corners[3].y), round(corners[0].x), round(corners[0].y));
|
||||||
LineSegment rightEdge(round(corners[2].x), round(corners[2].y), round(corners[1].x), round(corners[1].y));
|
LineSegment rightEdge(round(corners[2].x), round(corners[2].y), round(corners[1].x), round(corners[1].y));
|
||||||
@@ -130,7 +134,14 @@ Mat LicensePlateCandidate::deSkewPlate(Mat inputImage, vector<Point2f> corners)
|
|||||||
Mat transmtx = getPerspectiveTransform(corners, quad_pts);
|
Mat transmtx = getPerspectiveTransform(corners, quad_pts);
|
||||||
|
|
||||||
// Apply perspective transformation
|
// Apply perspective transformation
|
||||||
warpPerspective(inputImage, deskewed, transmtx, deskewed.size());
|
warpPerspective(inputImage, deskewed, transmtx, deskewed.size(), INTER_CUBIC);
|
||||||
|
|
||||||
|
if (config->debugTiming)
|
||||||
|
{
|
||||||
|
timespec endTime;
|
||||||
|
getTime(&endTime);
|
||||||
|
cout << "deskew Time: " << diffclock(startTime, endTime) << "ms." << endl;
|
||||||
|
}
|
||||||
|
|
||||||
if (this->config->debugGeneral)
|
if (this->config->debugGeneral)
|
||||||
displayImage(config, "quadrilateral", deskewed);
|
displayImage(config, "quadrilateral", deskewed);
|
||||||
|
Reference in New Issue
Block a user