# Basic image processing using OpenCV import cv2 import requests import numpy as np import matplotlib.pyplot as plt from io import BytesIO # Fetch the image from the URL using requests url = 'https://images.unsplash.com/photo-1444464666168-49d633b86797?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8YmlyZHxlbnwwfHwwfHx8Mg%3D%3D' response = requests.get(url) image = np.asarray(bytearray(response.content), dtype="uint8") image = cv2.imdecode(image, cv2.IMREAD_COLOR) # Convert the image to grayscale gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Apply a Gaussian blur to the image blurred_image = cv2.GaussianBlur(gray_image, (5, 5), 0) # Detect edges using the Canny edge detection algorithm edges = cv2.Canny(blurred_image, 100, 200) # Display the original and processed images plt.figure(figsize=(10, 7)) plt.subplot(2, 2, 1) plt.title('Original Image') plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) plt.axis('off') plt.subplot(2, 2, 2) plt.title('Grayscale Image') plt.imshow(gray_image, cmap='gray') plt.axis('off') plt.subplot(2, 2, 3) plt.title('Blurred Image') plt.imshow(blurred_image, cmap='gray') plt.axis('off') plt.subplot(2, 2, 4) plt.title('Edge Detection') plt.imshow(edges, cmap='gray') plt.axis('off') plt.tight_layout() plt.show()