+/*
+ * opencv-perspective-transform - Example program for cvWarpPerspective()
+ *
+ * Copyright (C) 2013 Antonio Ospite <ospite@studenti.unina.it>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include <stdio.h>
#include <errno.h>
#include <opencv2/core/core_c.h>
cvNamedWindow("Viewport", 0);
cvResizeWindow("Viewport", WIDTH, HEIGHT);
- /* Trasform only a part of the whole image */
+ /* Transform only a part of the whole image */
viewport.x = 0;
viewport.y = 0;
viewport.width = WIDTH;
viewport.height = HEIGHT;
cvSetImageROI(image, viewport);
- /* Calculate the prospective tranformation */
+ /* Calculate the perspective transform */
src[0].x = 0;
src[0].y = 0;
src[1].x = WIDTH;
perspective_matrix = cvGetPerspectiveTransform(src, dst,
perspective_matrix);
- /* Create a new image and apply the prospective transformation */
+ /* Create a new image and apply the perspective transform */
transformed_image = cvCreateImage(cvSize(WIDTH, HEIGHT), image->depth,
image->nChannels);
if (!transformed_image) {
- fprintf(stderr, "Cannot create trasnformed image\n");
+ fprintf(stderr, "Cannot create transformed image\n");
ret = -EINVAL;
goto out_release_mat;
}
ret = 0;
+ cvReleaseImage(&transformed_image);
out_release_mat:
cvReleaseMat(&perspective_matrix);
out_destroy_window: