Python是一种流行的编程语言,它在图像处理方面表现得非常出色。本文将介绍如何使用Python旋转和变色矩形。
import cv2 import numpy as np # 加载图像 img = cv2.imread('rect.jpg') # 转换为HSV hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 定义要变化的颜色范围(绿色) lower_green = np.array([60, 50, 50]) upper_green = np.array([70, 255, 255]) # 定义要绘制的矩形的位置和大小 x, y, w, h = 100, 100, 200, 150 # 创建一个矩阵,绘制矩形 mask = np.zeros(img.shape[:2], dtype='uint8') cv2.rectangle(mask, (x, y), (x + w, y + h), 255, -1) # 应用掩膜,提取矩形区域 masked = cv2.bitwise_and(hsv, hsv, mask=mask) # 使用掩膜提取矩形并改变颜色 masked[np.where((masked != [0, 0, 0]).all(axis=2))] = [65, 229, 128] # 变换为BGR new_img = cv2.cvtColor(masked, cv2.COLOR_HSV2BGR) # 旋转矩形 (centerX, centerY) = (x + w // 2, y + h // 2) M = cv2.getRotationMatrix2D((centerX, centerY), 45, 1.0) rotated = cv2.warpAffine(new_img, M, (img.shape[1], img.shape[0])) # 显示结果 cv2.imshow('Original', img) cv2.imshow('Rotated and Colored Rectangle', rotated) cv2.waitKey(0) cv2.destroyAllWindows()
代码中使用OpenCV库进行图像处理。首先,我们读入一张矩形图片,并将其转换为HSV颜色空间。接着,我们提取该图片中绿色部分的掩膜,然后将其颜色改为亮绿色。最终,我们对该矩形进行了旋转,并将处理后的图像展示出来。