淘先锋技术网

首页 1 2 3 4 5 6 7

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颜色空间。接着,我们提取该图片中绿色部分的掩膜,然后将其颜色改为亮绿色。最终,我们对该矩形进行了旋转,并将处理后的图像展示出来。