{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "Odysseas Stefanakis, Grade 10, William Aberhart High School\n", "\n", "CYSF, March 2024" ], "metadata": { "id": "qh8ZsFq8gTMc" } }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3XTsx8WehHxZ", "outputId": "124ee9cf-5cbf-475e-cdde-4e2869166c13" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Requirement already satisfied: opencv-python in /usr/local/lib/python3.10/dist-packages (4.8.0.76)\n", "Requirement already satisfied: numpy>=1.21.2 in /usr/local/lib/python3.10/dist-packages (from opencv-python) (1.25.2)\n" ] } ], "source": [ "#Installation of the OpenCV python library\n", "!pip install opencv-python\n", "\n", "import cv2\n", "import numpy as np\n", "from google.colab.patches import cv2_imshow\n", "from google.colab import files" ] }, { "cell_type": "code", "source": [ "#Image segmentation based on page color\n", "\n", "import matplotlib.pyplot as plt\n", "import cv2\n", "\n", "#downscale an image to HD (needed when the resolution of the input image is high)\n", "def downscale_to_hd(image_path, output_path, dimension=(1920, 1080)):\n", " # Load image\n", " img = cv2.imread(image_path)\n", "\n", " # Resize image\n", " # First calculate the ratio to keep the aspect ratio intact\n", " height, width = img.shape[:2]\n", " ratio = min(dimension[0] / width, dimension[1] / height)\n", " new_size = (int(width * ratio), int(height * ratio))\n", "\n", " resized_img = cv2.resize(img, new_size, interpolation=cv2.INTER_AREA)\n", "\n", " # Save downscaled image\n", " cv2.imwrite(output_path, resized_img)\n", "\n", "#Create a segmentation based on page color (RGB renge as of next line)\n", "def retain_white_color(img, lower_white=np.array([220, 220, 220]),\n", " upper_white=np.array([255, 255, 255])):\n", " \"\"\"Retain only the near white color in an image.\"\"\"\n", "\n", " # Create a binary mask where near white regions are set to 1, others to 0\n", " mask = cv2.inRange(img, lower_white, upper_white)\n", "\n", " # Use the mask to obtain only the near white regions from the original image\n", " white_img = cv2.bitwise_and(img, img, mask=mask)\n", "\n", " return mask, white_img\n", "\n", "\n", "image_path = \"IP_input_image.jpg\" # original image name\n", "output_path = \"downscaled_image.jpg\" # downscale image name\n", "downscale_to_hd(image_path, output_path) # downscale the original image\n", "\n", "img = cv2.imread(\"downscaled_image.jpg\")\n", "\n", "# Retain only near page (white) color\n", "mask, white_img = retain_white_color(img)\n", "\n", "# Display the original and images side by side with the retained white color\n", "fig, ax = plt.subplots(1, 2, figsize=(12, 6))\n", "\n", "# Display downscaled original image\n", "ax[0].imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))\n", "ax[0].set_title(\"Original downscaled Image\")\n", "ax[0].axis('off')\n", "\n", "# Display image with retained white color\n", "ax[1].imshow(cv2.cvtColor(white_img, cv2.COLOR_BGR2RGB))\n", "ax[1].set_title(\"Image with Retained near White Color\")\n", "ax[1].axis('off')\n", "\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "cv2.imwrite('segmented_image.jpg', white_img) # save segmented image\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 332 }, "id": "QhnSbCCNtRO9", "outputId": "074a3954-762b-4aa4-b9e1-c78686898b4d" }, "execution_count": null, "outputs": [ { "output_type": "error", "ename": "AttributeError", "evalue": "'NoneType' object has no attribute 'shape'", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0mimage_path\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"IP_input_image.jpg\"\u001b[0m \u001b[0;31m# original image name\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 37\u001b[0m \u001b[0moutput_path\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"downscaled_image.jpg\"\u001b[0m \u001b[0;31m# downscale image name\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 38\u001b[0;31m \u001b[0mdownscale_to_hd\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimage_path\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moutput_path\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# downscale the original image\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 39\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[0mimg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcv2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"downscaled_image.jpg\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mdownscale_to_hd\u001b[0;34m(image_path, output_path, dimension)\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;31m# Resize image\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;31m# First calculate the ratio to keep the aspect ratio intact\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0mheight\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mimg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0mratio\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdimension\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdimension\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m/\u001b[0m \u001b[0mheight\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0mnew_size\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwidth\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mratio\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mheight\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mratio\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'shape'" ] } ] }, { "cell_type": "code", "source": [ "#Harris Corner detection on the segmented image\n", "import cv2\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# Load the segmented image\n", "image = cv2.imread('segmented_image.jpg', cv2.IMREAD_GRAYSCALE)\n", "\n", "# Detect corners using Harris corner detection algorithm\n", "dst = cv2.cornerHarris(image, blockSize=2, ksize=3, k=0.04)\n", "\n", "# Dilate to mark the corners\n", "dst = cv2.dilate(dst, None)\n", "\n", "# Define a threshold to extract corners\n", "threshold = 0.01 * dst.max()\n", "\n", "# Find the coordinates of detected corners and save their coordinates in the two arrays\n", "y_coords, x_coords = np.where(dst > threshold)\n", "\n", "# Report the number of detected corners\n", "num_corners = len(x_coords)\n", "print(f\"Number of detected corners: {num_corners}\")\n", "\n", "# Display the image\n", "plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))\n", "plt.title('Detected Corners')\n", "plt.scatter(x_coords, y_coords, color='r', s=0.001) # Plot the detected corner points in red\n", "plt.axis('off')\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 445 }, "id": "jpE5xCiJWmRr", "outputId": "94362fde-1298-40ae-9c4a-80b89996d2e2" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Number of detected corners: 21819\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAASkAAAGbCAYAAACYm2b8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABqZElEQVR4nO3dd3icxbn38e+zRStp1a1udVmyLPeCjXsBbIzBmG46gVDTSAI5IQmHEAgnJG/KoYaUQ4JJINQAAWMMLrj3IjdZvfded7W78/4xK9lyAYPbyr4/1+XL0urR6tld7U8z89wzYyilFEII4aNMZ/sEhBDii0hICSF8moSUEMKnSUgJIXyahJQQwqdJSAkhfJqElBDCp0lICSF8moSUEMKnSUiJU27WrFnMmjXrbJ+GOEdISH0Nf/vb3zAMo++fv78/8fHxzJs3j2eeeYa2travfd/79u3j5z//OcXFxafuhI9h/fr1/PznP6e5ufm0/pwv43a7efnll5k1axYRERHYbDZSUlL4xje+wdatW8/quQnfICF1En7xi1+wZMkSXnzxRb7zne8A8OCDDzJy5Eh27979te5z3759PP7442ckpB5//PGzGlJdXV1cfvnl3HnnnSil+MlPfsKLL77IbbfdxoYNG5g4cSLl5eVn7fyEb7Cc7RMYyObPn8+ECRP6Pn/kkUdYsWIFl19+OQsXLmT//v0EBAScxTP0bQ8//DAff/wxv//973nwwQf7fe2xxx7j97///Sn5OR0dHdjt9lNyX1/G4/HgdDrx9/c/Iz/vvKDEV/byyy8rQG3ZsuWYX3/qqacUoP70pz/1u33//v3qmmuuUeHh4cpms6nx48er995776j7PfLfypUr+4756KOP1LRp01RgYKAKCgpSl112mdqzZ89R57B//3513XXXqcjISOXv768yMzPVT37yE6WUUo899tgxf05RUVHf9y9ZskSNGzdO+fv7q/DwcHXDDTeo0tLSo37OSy+9pNLS0pS/v7+64IIL1Oeff65mzpypZs6c+YXPYVlZmbJYLOqSSy75wuMOt337dnXppZeq4OBgZbfb1Zw5c9SGDRv6HdP7HK5atUrdf//9KioqSoWFhSmllJo5c6YaPny42rt3r5o1a5YKCAhQ8fHx6umnnz7qZ3V3d6v//u//Vunp6crPz08lJCSohx9+WHV3d/c7DlDf+ta31Kuvvqqys7OVxWJR7777rlJKqddee02NGzdOBQUFqeDgYDVixAj1hz/84YQfr9AkpL6GLwupsrIyBahrr72277Y9e/ao0NBQlZ2drZ5++mn13HPPqRkzZijDMNQ777yjlFKqoKBAffe731WA+slPfqKWLFmilixZoqqrq5VSSr3yyivKMAx16aWXqmeffVY9/fTTKiUlRYWFhfULmF27dqmQkBA1aNAg9cgjj6iXXnpJ/ehHP1IjR47s+/qNN96oAPX73/++7+e0t7crpZR68sknlWEY6oYbblAvvPCCevzxx1VkZKRKSUlRTU1NfT/nL3/5iwLUlClT1DPPPKMefPBBFRYWptLS0r40pP70pz8pQL3yyisn9Jzv2bNH2e12FRcXp5544gn1q1/9SqWmpiqbzaY2btx41GuTnZ2tZs6cqZ599ln1q1/9SimlQyo+Pl4lJiaq733ve+qFF15Qc+bMUYD66KOP+u7D7XaruXPnqsDAQPXggw+ql156SX37299WFotFXXnllf3OC1DDhg1TUVFR6vHHH1fPP/+82rFjh/rkk08UoC666CL1/PPPq+eff159+9vfVtddd90JPV5xiITU1/BlIaWUUqGhoWrs2LF9n1900UVq5MiR/f4SezweNWXKFJWRkdF325tvvnlU60kppdra2lRYWJi6++67+91eXV2tQkND+90+Y8YMFRwcrEpKSvod6/F4+j7+zW9+c1TrSSmliouLldlsVr/85S/73Z6Tk6MsFkvf7U6nU0VHR6sxY8Yoh8PRd1xv+HxZSH3/+99XgNqxY8cXHtdr0aJFys/PTxUUFPTdVllZqYKDg9WMGTP6but9baZNm6ZcLle/+5g5c+ZRwehwOFRsbKy65ppr+m5bsmSJMplMas2aNf2+/49//KMC1Lp16/puA5TJZFJ79+7td+z3vvc9FRISctQ5iK9OBs5Pk6CgoL6rfI2NjaxYsYLrr7+etrY26uvrqa+vp6GhgXnz5pGXl0dFRcUX3t/y5ctpbm7mxhtv7Pv++vp6zGYzkyZNYuXKlQDU1dXx+eefc+edd5KUlNTvPgzD+NLzfuedd/B4PFx//fX9fk5sbCwZGRl9P2fr1q3U1tZy33334efn1/f9d9xxB6GhoV/6c1pbWwEIDg7+0mPdbjeffPIJixYtIi0tre/2uLg4brrpJtauXdt3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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "#Extract polygons from a segmented image\n", "#Generate the contour lines and highlight the corner points\n", "import cv2\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# Load the segmented image\n", "image = cv2.imread('segmented_image.jpg', cv2.IMREAD_GRAYSCALE)\n", "\n", "# Find contours\n", "contours, _ = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\n", "\n", "# Approximate contours to polygons\n", "polygons = []\n", "for cnt in contours:\n", " epsilon = 0.02 * cv2.arcLength(cnt, True)\n", " approx = cv2.approxPolyDP(cnt, epsilon, True)\n", " polygons.append(approx)\n", "\n", "# Visualize the contours and corner points\n", "image_color = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\n", "cv2.drawContours(image_color, polygons, -1, (0, 255, 0), 5) # Draw polygons in green\n", "\n", "for idx, polygon in enumerate(polygons):\n", " for vertex_id, vertex in enumerate(polygon):\n", " x, y = vertex[0]\n", " cv2.circle(image_color, (x, y), 3, (255, 0, 0), 5) # Mark the vertex with a blue dot\n", "\n", "plt.imshow(cv2.cvtColor(image_color, cv2.COLOR_BGR2RGB))\n", "plt.axis('off')\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 406 }, "id": "8WHuSaJUvJjt", "outputId": "54504567-07c4-4481-fa40-3df0852bc3cb" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "#Same code as above with a filter to eliminate very small polygons\n", "import cv2\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# Load the segmented image\n", "image = cv2.imread('segmented_image.jpg', cv2.IMREAD_GRAYSCALE)\n", "\n", "# Find contours\n", "contours, _ = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\n", "\n", "# Approximate contours to polygons and filter out very small contours\n", "min_area = 10000 # This is an example value for area = 100 sq pixel; adjust as needed\n", "polygons = []\n", "for cnt in contours:\n", " epsilon = 0.02 * cv2.arcLength(cnt, True)\n", " approx = cv2.approxPolyDP(cnt, epsilon, True)\n", "\n", " # Filtering small polygons by area\n", " if cv2.contourArea(approx) > min_area:\n", " polygons.append(approx)\n", "\n", "# Visualize the result (larger polygons) and label the corner points\n", "image_color = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\n", "cv2.drawContours(image_color, polygons, -1, (0, 255, 0), 10) # Draw polygons in green\n", "\n", "font = cv2.FONT_HERSHEY_SIMPLEX\n", "font_scale = 2\n", "font_thickness = 2\n", "\n", "for idx, polygon in enumerate(polygons):\n", " for vertex_id, vertex in enumerate(polygon):\n", " x, y = vertex[0]\n", " cv2.circle(image_color, (x, y), 10, (255, 0, 0), 10) # Mark the vertex with a blue dot\n", " cv2.putText(image_color, f'{vertex_id + 1}', (x + 5, y), font, font_scale, (150, 150, 150), 10)\n", "\n", "plt.imshow(cv2.cvtColor(image_color, cv2.COLOR_BGR2RGB))\n", "plt.axis('off')\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 406 }, "id": "JYVdEHajycfe", "outputId": "16211f90-7a29-4b23-f02d-b716e393188e" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "#Filter the above corner points by angle\n", "\n", "import math\n", "\n", "def compute_angle(A, B, C):\n", " # Compute the lengths of the line segments\n", " BA = math.sqrt((A[0] - B[0])**2 + (A[1] - B[1])**2)\n", " BC = math.sqrt((C[0] - B[0])**2 + (C[1] - B[1])**2)\n", " AC = math.sqrt((A[0] - C[0])**2 + (A[1] - C[1])**2)\n", "\n", " # Use the law of cosines to find the angle\n", " cos_angle = (BA**2 + BC**2 - AC**2) / (2 * BA * BC)\n", "\n", " # Use the arccosine function to find the angle in radians\n", " angle_rad = math.acos(cos_angle)\n", "\n", " # Convert the angle to degrees\n", " angle_deg = math.degrees(angle_rad)\n", "\n", " return angle_deg\n", "\n", "all_points = [] # array with all eligible corner points\n", "best_points = [] # array of best points (meeting the filter criterion)\n", "\n", "image_color = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\n", "cv2.drawContours(image_color, polygons, -1, (0, 255, 0), 10) # Draw polygons in green\n", "\n", "font = cv2.FONT_HERSHEY_SIMPLEX\n", "font_scale = 2\n", "font_thickness = 2\n", "\n", "for idx, polygon in enumerate(polygons):\n", " for vertex_id, vertex in enumerate(polygon):\n", " x, y = vertex[0]\n", " cv2.circle(image_color, (x, y), 10, (255, 0, 0), 10) # Mark the vertex with a blue dot\n", " cv2.putText(image_color, f'{vertex_id + 1}', (x + 5, y), font, font_scale, (150, 150, 150), 10)\n", "\n", "\n", "# Print the coordinates of the polygon vertices\n", "for idx, polygon in enumerate(polygons):\n", " print(f\"Polygon {idx + 1}:\")\n", " #for vertex in polygon:\n", " vv = []\n", " for vertex_id, vertex in enumerate(polygon):\n", " x, y = vertex[0]\n", " print(f\"{vertex_id + 1} - ({x}, {y})\")\n", " vv.append([x,y])\n", " print()\n", "\n", " # Compute the angle for each corner point\n", "\n", " vv.append(vv[0])\n", " vv.append(vv[1])\n", " #print(vv)\n", " #print(len(vv))\n", " iv = 1\n", " while (iv<=len(vv)-2):\n", " angle_iv = compute_angle(vv[iv-1], vv[iv], vv[iv+1])\n", " #print(angle_iv)\n", " if ((angle_iv < 70.) or (angle_iv > 110.)): # angle range - adjust accordingly\n", " #print(vv[iv][0], vv[iv][1], angle_iv)\n", " cv2.circle(image_color, (vv[iv][0], vv[iv][1]), 10, (0, 0, 255), 10) # Mark the vertex with a read dot\n", " else:\n", " best_points.append(vv[iv])\n", " iv +=1\n", "\n", " for vertex in polygon:\n", " x, y = vertex[0]\n", " all_points.append([x,y])\n", "\n", "# Report best points (those that meet the angle condition)\n", "print(\"Qualified Points: \")\n", "print(best_points)\n", "print()\n", "\n", "# Compute image dimensions\n", "# Get the dimensions\n", "height, width = image.shape\n", "# Report the image dimensions\n", "print(\"Image dimensions:\")\n", "print(f\" Width: {width}\")\n", "print(f\" Height: {height}\")\n", "print()\n", "\n", "plt.imshow(cv2.cvtColor(image_color, cv2.COLOR_BGR2RGB))\n", "plt.axis('off')\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 712 }, "id": "zZFqssNBRf6F", "outputId": "eca41997-fb7e-4fb8-ad5a-ef3541d940a7" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Polygon 1:\n", "1 - (562, 264)\n", "2 - (654, 518)\n", "3 - (735, 346)\n", "\n", "Polygon 2:\n", "1 - (216, 225)\n", "2 - (352, 319)\n", "3 - (487, 231)\n", "4 - (310, 128)\n", "\n", "Qualified Points: \n", "[[735, 346], [310, 128], [216, 225]]\n", "\n", "Image dimensions:\n", " Width: 810\n", " Height: 1080\n", "\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "# Filter corner points by isolation\n", "\n", "# Definition of a ranked array of best points\n", "rankbest = []\n", "\n", "image_color = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)\n", "#cv2.drawContours(image_color, polygons, -1, (0, 255, 0), 10) # Draw polygons in green\n", "\n", "# For each of the best points (from previous code) calculate the number of\n", "# Harris detected corner points within a range of 5 pixels along x and y.\n", "# Rank the best points based on isolation (best is the point that has the\n", "# fewest neighbor corner points)\n", "ri = 0\n", "for p in best_points:\n", " #print(p[0],p[1])\n", " num=0\n", " for x, y in zip(x_coords, y_coords):\n", " if ( abs(p[0]-x) < 5 and abs(p[1]-y) < 5 ):\n", " num+=1\n", " else:\n", " continue\n", " rankbest.append(num)\n", " ri +=1\n", "\n", "rj = 0\n", "rr = 0\n", "rb = rankbest[rj]\n", "while (rj < len(rankbest)):\n", " if (rankbest[rj] < rb):\n", " rb = rankbest[rj]\n", " rr = rj\n", " rj +=1\n", "\n", "# draw the top two best points and save the image as \"image_corner.jpg\"\n", "ro = 0\n", "for p in best_points:\n", " if (ro < 2):\n", " cv2.circle(image_color, (p[0], p[1]), 3, (0, 255, 0), 30) # Mark the vertex with a green dot\n", " ro +=1\n", "\n", "cv2.imwrite('image_corner.jpg', image_color)\n", "\n", "plt.imshow(cv2.cvtColor(image_color, cv2.COLOR_BGR2RGB))\n", "plt.axis('off')\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 406 }, "id": "6-fWG6_OXK2X", "outputId": "fe38221f-41c2-4040-c307-ac4351c52cf6" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAASkAAAGFCAYAAAChRwUXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSr0lEQVR4nO3deVxU1f/H8dfMwDDsuLAqiisiaqloGuWulZqZmlmWWqblkpnZ9q20ff2llmVuoWK5VZS5b5kL4oa5oqiApIDsyL7O/f3hd+Y7bIYmctHPs8d9BDPDeOcO8+accz/nXI2iKApCCKFS2preASGEuBYJKSGEqklICSFUTUJKCKFqElJCCFWTkBJCqJqElBBC1SSkhBCqZlXVB2o0murcD1FLGQwGmjVrRu/evRkxYgQHDx7kyy+/5OLFizW9a6IWqEotuaaqFecSUsJS69at6dOnD82aNUOr1bJ792727NlDUlISiqJU6ZdPCAkpccNsbW1p1qwZ0dHR5ObmlrpPq9Xy4osvkpWVRUhICBkZGTWzk6LWk5AS10Wn03H33XczYMAA+vXrh729PW+++SabN2+u6V0TtykJKXFdvL29WbBgAfHx8axbt46wsDCSk5NRFAWNRiNdOHHTSUiJ66bT6TAajRJI4paoyu9Zlc/uiTtDSUlJTe+CEKVInZTKaTQaXF1dsba2ruldEaJGSEjVAuPGjWPgwIESVOKOJCGlcoqi8P333zNw4EC8vLxqeneEuOVk4LyWsLGxoaioCKPRWNO7IsRNI2f3bkNSCiBuJ1X5XZbuXi0jASXuNFKCoFJ2dnbodDoaNWpE8+bNOXHiBNHR0TW9W0LcctLdUxEXFxdatGhBbm4uWq0WZ2dnTpw4QWZmprSgxG1JijlrEY1Gg6+vL7m5uURFRZGfn1/TuySEKkhLqgZYW1vToEEDdDodUVFRNb07QtQYObtXw0xn4rRaLd7e3hiNRkpKStBoNFy5coWcnBzpxok7mnT3apBOp8Pb2xuDwWAeX4qNjeXy5cuyKJwQ10FC6jpVVqek1WoxGAz4+PhQVFSEh4cHTk5O7N69m+zsbAklIW6QdPeuk5eXF/Hx8ebv3dzcsLOzo3fv3ly6dImYmBhiYmIoKiqqwb0UonaQMalq4ODgQJ06dWjcuDEHDhygc+fOnDt3jitXrlBQUFDTuydErSIhdQNM3TnLbp2joyNt2rTBy8uLTp06ERUVxZ49ezhz5kwN760QtZuE1L/QqFEj2rdvT4MGDXB0dOT06dOEh4eTlpZGXl5eTe+eELcFCanroNfradKkCb6+vjRu3BhnZ2fCw8M5cOAAV65ckRUrhagGElL/QKfT0aVLF/r06YOzszNpaWkcP36cQ4cOkZiYKMuiCFHNJKT+y9bWFmtra7RaLW3btsXe3p6OHTuSkpKC0Wjk7NmzHDt2jCtXrsiVUYS4he64kLKxsaFBgwY0atSI06dPk5iYCMBnn33GY489Zm4ZhYSEEBQURHR0NIWFhTW5y0Lc0W77inOtVmuu3tZoNLRq1YqEhAR2795d6sWvXLmSli1bsm7dOjZv3kxCQoK0lISoJWpdS8ra2hpHR0fS0tJwcXGhsLCw3GXALVnOn5MxJiHU5bZbmdPGxoZRo0bh5uYGQEZGxjUDCv53ECSghKidakVLyrSKQFpaGrm5uVIOIMRtota3pDQaDd7e3syZM4cDBw4wZswYCSgh7jCqHTivV68e06ZNY+jQoTRt2pSYmBgiIiJqereEELeYqrp7Wq2WVq1aMWDAAEaNGoWPjw+HDh1i7dq1rF69msTERDkrJ8RtpNbUSZnCaeLEiTz22GNoNBq2bdvGqlWr2L59u8yVE+I2pfqQMoXThAkTeOSRR7hy5QpLlixhy5YtnDlzRsafhLjNqbaYU6vV4ufnxwsvvEDfvn2JiYnh+eefZ9++faUu3yTTU66DA2AL+AKXgVTgCiCVF6KWu6UhpdPp6NevH4899hgtWrQgNDSUPn36kJKSUuElnCSgqsAeeAKYBHgAzkDef7dNwFfAyRrbOyH+PaWKgH+9eXt7K8uWLVMeeOABpU6dOopGo7kpz3vHbvYofI9CMUqF/xlRuIhCVxXsq2yyVbBVxS0dkzI9h7SQbgItMIerLahrVbspwDZgECCrGwuVUV0xp2kysLgJ2gBP8c/voAboDvSo7h0SonqouuJcXEMPwKWKj9UD/attT4SoVhJStZEGaP3f/1f18S0A62rbIyGqjYRUbXW952V1VD3UhFARCanaSAGudxrjOUAWIRW1kIRUbRUNVPUiyQpXQ0qIWkhCqhbRaDT/KwXZChzkagBdiwJEASurddeEqDYSUrWATqdjwIABTJkyxbwqKbnAZLA+Z41GqXywSZ+uRzNRA0m3Zl+FuNkkpGqJgoICLl68SMuWLc232Uba8tXxr/g4/2NalLTAxeiCtWKNg+JAPWM9hhQMYXXOakY3GI2Hh0cN7r0QN04VS7WI66fRaHj44Yf59ttvcXBwIEPJ4Hj0cZYcWMK4AeNo6tiUutRFp+gAOHToEDNmzCAiIoKCggKKi4tr+BUIUbWKcwmpWszUDXz//fdRFIUxY8Zw4sQJAgMDmTx5Mt27d8fKysr8i5CXl0dsbCyhoaF88803lU7sFuJWkZC6Q7Rp0wZXV1d27txpvs3W1pYBAwYwaNAgHnroIXJycigqKsLV1RWNRkNkZCTJycksX76c3377TcJK1AjVriclbq6TJ8uvxZKXl8fPP/+MjY0NXbt2xdnZGRsbG/MFVVu0aEGLFi1o3749eXl5xMXFERER8Y+XCBPiVpOB89uMZZmCra0t7dq1IzU1FZ3u6thU2UnednZ2LFmyhPXr1/Pxxx/j7+9vfqwQaiDdPRVp0aIF1tbWFV4Vx8rKinr16pGRkUFBQcE/rlpqb2/P4MGD+eKLL7CxscHa+n8T9xRFwWg0lgo0U3glJSWxf/9+NmzYwObNm8nMzLz5L1SI/5IxqVpEq9Wi1+upU6cOCQkJpe5zcnLi448/5v7772f9+vWEhYXxxx9/mC9QYQos01tpbW3NrFmzePDBB6lbty46na7U+2d6bKniUIv7AEpKSjhx4gTz5s0jJCREzgaKaiEhVUs4OTkxcOBAVq9eXe7iE1qtlg8++ICJEyeag6WgoIAdO3YQHh5OdnY2/v7+HD9+nBUrVpCXl0dgYCCrV6/G1tYWrVaLRqMxt5wsWX5v+tryNqPRSG5uLgsXLiQoKIiLFy/KemDippKQqkVsbGwoLCws96bpdDo+/fRTxowZYx4r0mg0lJSUYDQaKSoqwtramszMTLZv3862bdt45ZVXaNmyZamxJVPAWV7koiJa7f+GKYuLi83hlpiYSFhYGPPnzyc8PFzCStwUElK1nLOzM9nZ2djZ2bFw4UL69etXbgzJ8u0rKioiMzOTevXqmVtQJmXHsCoa0zI9vri4mNTUVFxcXEo9j0ajISUlhdWrVxMeHs7mzZspLJSlFcSNk5Cq5UaMGEG7du344YcfSE1NZfjw4fTr14+AgABsbGyAq10yy8DSaDTodDpzi8hygLzsW20ZchqNxlyeEBoayiuvvMKKFSvw9vY2P94ysIqLi9m6dSvfffcdhw8fpqioqksyCPE/qlvjXFyf1atXExoayquvvkpxcTFz585l+PDhvPPOO0RHR5cbZ6psENxyYN10Zs90n2VQme6Lj4+nQ4cOxMXFmcOn7MC7VqvloYceYs2aNXz00Ud07tzZfAZR/qCJm0laUrWAvb09+fn5pQbVPTw86NmzJ6+++ire3t7m1lLZsgLLILMMo/T0dI4cOUJcXByhoaFotVp69uxJ/fr1ufvuuzl79ix79uxh4sSJ5gF4S6ZWm2lsrLi4mF27drFy5Ur+/PNPKQoVVSLdPRXR6/XUr1+fhISEf3xjqnrlZq1WS8eOHZk7dy5NmjRBr9eXa/EYjcZS36ekpLBjxw6++OILsrKy6N69O7169eLixYucOXOGw4cP4+XlRZMmTRg4cCCdO3cmPz8fRVFo0KCB+Xk0Gg1ZWVmcO3eOJk2aUKdOHfN9u3btYsWKFfz++++l/n0hypKQUhFbW1sGDx7Mhg0bKiyQ1Gg0PPDAA8TExHD27Nl/fPNsbW15+OGHSU1NJT4+Hl9fX1544QUCAgKwsro626lsVy4yMpJ33nmH1NRU7r//frp160aLFi2Ijo5m3bp1ODg44OLigqIorFmzBqPRyAcffEC3bt2IjY3F0dERd3f3Ss8QWt6elZXFpk2bCA0NZdOmTWRkZPzbQyhuQxJSKqDX62nUqBExMTGlxoJMHB0dGTJkCNbW1uzevZt27drh4eHBwYMHOXnyZIXdJq1Wy8iRI3nllVeoX78+ycnJfPrppxw8eJC7776bjz/+GA8Pj1JjUNHR0TzzzDOkpKTQrl07Tp8+TWZmJgaDgZycHHJzc83vcb169cjPz6devXrk5eXx448/0q5dO4xGI9nZ2Wg0Guzs7LC2tq5wMN5Eo9GQkJBAeno6QUFB/P777xJWohQJKRVwdHRkypQp5ipxSxqNhrfffptp06YBsHfvXr755hvi4uLo1q0bAQEBHDx4kIMHD3L58mUSEhLQaDSMGDGCzz77DDs7O3M1eUlJCcePH2fOnDlERUXRr18/Ro0aRcOGDVEUhUWLFvHmm2+a38dOnTqRnJxMbGysueVVUlJiHvfq2bMnzs7OFBQUMHfuXOzt7Tl37hxBQUE4ODjw0ksv4eTkZH4d8L8zjSUlJeTl5eHk5ISiKGzfvh1vb2/S09MJCQmRsBJmElIqodFocHJyIjMzs1xLY9iwYXz++ee4uLig0WgoLi7m/PnzvPvuu8TExPDkk08ybNgwCgoKmD17NtbW1rz33ns4ODiUGig3tZqKioo4fPgw8+fPJzY2lj59+jBo0CD27dvHm2++iaIo+Pj40KNHDzZu3MiUKVPo1asXAGfOnGHjxo3s27cPKysrnJ2dWbNmDR4eHuTk5DB27Fi2bdtGhw4dWLt2LTqdjuzsbHNYmULKNFYVEBCAoigkJCTg6upKVFQULVu25OzZs3zwwQeEh4dz5coVGbe6g0lIqViDBg3o27cva9asoVOnTnz//ffUrVvXfBYtPz+fXbt2sXDhQi5evMhTTz3FqFGjzN2siqaxWL6VhYWF7Nixg3feeQeNRsNzzz3HjBkzKCgoMNdDNW/enF9//dVcC2U6S3fq1CnGjBnDN998Q2BgIHB1+eJx48axbds27Ozs+Pbbb+nZsyfx8fEUFhbi7u5ObGwsXl5eODo6mssUjEYjycnJGAwGgoODMRgMPPfccyiKwsWLF1m1ahVBQUFcuXLlVh16oSISUirWuHFjPvroI2JiYvjkk09o1KgRnTp14rXXXqNBgwbmIMnLy2PVqlVs3LgRo9HItGnT6Nq1qznMTP8vW5gJV7tvGRkZbN26lfXr17NlyxZKSkpK/WJ06dKFRYsW4enpWWqeX0xMDI0bN0an05nHtV566SUSExOpX78+TZs25aWXXmLNmjWsXbuW/v37U7duXdavX8/nn39OXl6e+Yzf0aNHCQgIoKioCI1Gg16vL1XCcPbsWd566y1CQ0OlVXWHkZBSKdOxtLa2pmfPnuzdu5ecnBy0Wi2enp489thjDBkyhDZt2pgDoqCggJ9//pn9+/eTnp7Ogw8+SP/+/XF3dzc/57UqynNycti9ezfz5s0jLCzMHAZ169alUaNGODo68tZbb3HPPfeU+3lTC2vixIk4OTmh1+vZv38//fv3Z+HChWRkZODp6cnUqVN57LHHSEhIICIiAl9fX/OFI8p2TU3Pb5Kenk5ERAS//vqrjFndQSSkajHTh/6ZZ54p1bXLzMwkNDSUZcuWkZKSwuuvv06/fv1KlR2YHls2DExn5z744ANCQkJIS0ujY8eOODo60q1bN5599lmcnZ3N+2A0Gs3biRMnGD58OFlZWTg7O5OSkkKTJk3w8PAgNjaWpKQkunTpwooVK8jKysLJyQmtVsvx48fx9fUtNYZm2qfK9vXs2bN88sknbN++XeYG3mIeHh4kJyeXW42jukhI3SLOzs4UFRVVWmVta2uLXq+v8riL6UPbu3dvli9fbh6DMr1VWq2WoqIifvnlFxYvXkzbtm0ZN24crVu3Np/tq+htNXX1ioqKiI+PZ/Xq1WzYsIGcnBwWLlxI586dy02fuXLlChEREUybNo3z588DV1uAdnZ2ODk50axZM9zd3QkMDKRXr164u7uTm5vLpUuX0Ov16HQ63N3dKSkpwWAwmPe/7LQc0/em7mVhYSFr1qzhzz//ZOvWrbIGezVwcnJCp9ORkZGBoii4u7vTtm1bdu7cKSF1u7nvvvvME3PLcnFxYdasWTRr1owXX3yRyMhICgoKrvl8Wq0Wf39/vv76a9q2bVvpMitarZbU1FRWrVrF8uXLeeKJJxg+fDgeHh7lCjpN3TvLcDDVMQUFBfHnn3/i7+/Pgw8+SK9evbC2tsZoNHLkyBG++uorwsLCePjhh9mwYQMvv/wyDzzwAPXr18dgMGBra4uiKFy5coUVK1awbt06IiMj0el03HXXXbi5udG1a1eGDh2KXq83j31ZziM07deVK1dwdHSkpKQEGxsbjEYjK1euZO7cucTExMgSMTeJv78/S5YswcnJiV27dvHbb79x+PBhCgoKyMrKwtra+pa0YiWkqpmDgwOFhYWVvpn29vZ89913PPzww+YP8datW1m2bBnh4eFYWVmVmpNn+uD6+voSFBRknupSEVPImAa6k5OT2bBhA7/99hvNmzfn+eefp3Xr1hiNxlLPb/pZ0/emfzM9PZ3g4GDWrVtHixYtePLJJzEYDEyePJnExER8fHxo2LAh9913HxMmTECn05UqTi0qKuL1119n+fLl6HQ6HBwcKC4uJisryxxiU6ZMYfr06eW6fEaj0fzBOH36NC1btiQmJoY2bdpw+fJlGjRoQEpKCj///DMbNmzg0KFDMsD+Lzk5ObFhwwa6du2KRqOhqKiIixcv8scffzB37lzGjx/PrFmzuHDhQrXuh4RUNZs0aRKdOnXi3XffLfdmmgo1p06dar72nekDmZOTw8GDB3FxcWHLli1s2LCByMhIFEUhMDCQAQMGsG/fPnr06MHQoUOxs7Mr9byA+UNqChnTEi3p6emsWbOG1atXM2HCBPz8/GjSpIm5q2X5HJbfm57n8uXLzJgxg61btwJXSxnefvttNm3axL333subb75p7q6Z6rrg6hm8oUOHmssPRowYwR9//MHFixcZPXo0u3btIj8/n23btqHX681dz/T0dE6dOsXbb7/NvHnzaN26tTn4TcWqlnJzc/n00085cuQI4eHhElb/QosWLVi6dCmdOnUyH2ej0cjFixexsrLim2++4fPPP6/WfZCQqmY6nQ5fX1/z1I+yOnTowIwZM+jWrZv5g23Z7TId+szMTBYvXoydnR09evTAzc2N/fv389NPP1FSUkK/fv144oknyl3xxXJA3Wg0otVqzSUJpnl6x44d4+677+att96iVatWWFlZlRvABkqtP1VUVMSUKVM4ceIE586dw8rKCnd3dzZu3EiDBg1KrVFlCpucnByGDBnCX3/9ZX7OoUOH4u/vz65du7hw4QLvv/++uVVpauGdPn2an376iZYtW9K3b19iY2PZsWMHmzZt4oMPPqBVq1bUr1/f/DpN/8/PzycoKIhPPvlExqv+hbp16/LBBx8wcuRIrK2tMRgMKIpCfn4+gwYNKjdL4maTkKoBOp2OCRMmsG/fPv766y/q1avHgAEDePjhh+nZs2eFy6ZYnn3Lzc3lzJkz5qklx48fZ+nSpQwaNIhnnnmGxo0bl/p5y5aVKWhMAZKfn09oaCgLFizg2LFjjBw5kueffx43N7dyRaBlywNyc3MpLi4mODiYH374AWtrayZPnkxgYCDu7u7meXuWr2f//v2MHz8eRVGwsrLC3t6eJUuW4OvrS3p6OnXq1DFPm4Gr40/fffcd0dHRDBs2jKysLNzc3EhLSyMpKYmioiKaNWtGv379zPtq+veio6P55ZdfmDNnjiy49y+1a9eOnj17EhERwaRJk3B3dycmJoZJkyZV+Mf3ZpKQqgE6nY5u3boxevRo5syZw7Fjx1AUhXr16vHBBx9w11134efnZw6nzMxMzp07x+7duzl+/DjHjx8nLi6u3BIriqLQtGlTXnzxRQYOHFiqVKCssu9VUVER+/bt44svviA5OZmnn36aBx98kGbNmlW4TpTlbUajkczMTJKTk5k9ezb79+/nvvvuY9q0adjY2ODm5laqS3bgwAGmT5/O6dOnAWjZsiVBQUG0bt3a/PymNagOHz7M+PHjSUtLY/z48QQEBGBtbU1RURF9+vQh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\n" }, "metadata": {} } ] }, { "cell_type": "code", "source": [ "# Warp perspective transformation to rectify the tilted image\n", "import cv2\n", "import numpy as np\n", "\n", "def rotate_image(image_path, angle_x, angle_y, angle_z):\n", " # Load the image\n", " image = cv2.imread(image_path)\n", "\n", " # Convert angles from degrees to radians\n", " angle_x = np.radians(angle_x)\n", " angle_y = np.radians(angle_y)\n", " angle_z = np.radians(angle_z)\n", "\n", " # Get the image dimensions\n", " h, w = image.shape[:2]\n", "\n", " # Calculate the rotation matrices around each axis\n", " Rx = np.array([[1, 0, 0],\n", " [0, np.cos(angle_x), -np.sin(angle_x)],\n", " [0, np.sin(angle_x), np.cos(angle_x)]])\n", "\n", " Ry = np.array([[np.cos(angle_y), 0, np.sin(angle_y)],\n", " [0, 1, 0],\n", " [-np.sin(angle_y), 0, np.cos(angle_y)]])\n", "\n", " Rz = np.array([[np.cos(angle_z), -np.sin(angle_z), 0],\n", " [np.sin(angle_z), np.cos(angle_z), 0],\n", " [0, 0, 1]])\n", "\n", " # Combine the rotation matrices\n", " R = Rz @ Ry @ Rx\n", "\n", " # Assume focal length is the average of image width and height\n", " f = (w + h) / 2\n", " K = np.array([[f, 0, w/2],\n", " [0, f, h/2],\n", " [0, 0, 1]])\n", "\n", " # Calculate the final warp matrix\n", " warp_matrix = K @ R @ np.linalg.inv(K)\n", "\n", " # Determine the size of the resulting image\n", " # Calculate the corners after rotation\n", " corners = np.array([[0, 0, 1],\n", " [w, 0, 1],\n", " [w, h, 1],\n", " [0, h, 1]])\n", " new_corners = np.dot(warp_matrix, corners.T).T\n", "\n", " # Normalize the corners\n", " new_corners = new_corners / new_corners[:, 2].reshape(-1, 1)\n", "\n", " # Find the bounding box of the new corners\n", " x_min, y_min = np.min(new_corners, axis=0)[:2]\n", " x_max, y_max = np.max(new_corners, axis=0)[:2]\n", "\n", " # Calculate the size of the new canvas\n", " new_w, new_h = np.ceil(x_max - x_min).astype(int), np.ceil(y_max - y_min).astype(int)\n", "\n", " # Adjust the warp matrix to consider the translation\n", " translation_matrix = np.array([[1, 0, -x_min],\n", " [0, 1, -y_min],\n", " [0, 0, 1]])\n", " warp_matrix = translation_matrix @ warp_matrix\n", "\n", " # Perform the warp perspective transformation with the new canvas size\n", " rectified_image = cv2.warpPerspective(image, warp_matrix, (new_w, new_h))\n", "\n", " return rectified_image\n", "\n", "# Rectify the image from the previous code\n", "# Read the three rotation angls by x, y, and z from the gyroscope and add\n", "# these to the next line (the last three numbers: , , )\n", "rectified_img = rotate_image('image_corner.jpg', 25, 3, -31)\n", "cv2.imwrite('rectified_image.jpg', rotated_img)\n", "\n", "# Draw the rectified image\n", "plt.imshow(cv2.cvtColor(rectified_img, cv2.COLOR_BGR2RGB))\n", "plt.axis('off')\n", "plt.show()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 406 }, "id": "53IITRAF1gZD", "outputId": "230ea60a-233e-4bee-9250-4ef0abe1c165" }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] } ] }