以下是一个使用Python和OpenCV库来实现“按下按钮旋转图像”的示例代码:
import cv2
def rotate_image(img, angle):
height, width = img.shape[:2]
rotation_matrix = cv2.getRotationMatrix2D((width/2, height/2), angle, 1)
rotated_img = cv2.warpAffine(img, rotation_matrix, (width, height))
return rotated_img
def main():
img = cv2.imread('image.jpg')
angle = 0
while True:
cv2.imshow('Image', img)
key = cv2.waitKey(1)
if key == ord('q'): # 按下 'q' 键退出循环
break
elif key == ord('a'): # 按下 'a' 键逆时针旋转图像
angle -= 10
img = rotate_image(img, angle)
elif key == ord('d'): # 按下 'd' 键顺时针旋转图像
angle += 10
img = rotate_image(img, angle)
cv2.destroyAllWindows()
if __name__ == '__main__':
main()
在这个示例中,我们定义了一个rotate_image
函数来旋转图像。该函数使用cv2.getRotationMatrix2D
来获取旋转矩阵,并使用cv2.warpAffine
来应用旋转矩阵进行图像旋转。
在main
函数中,我们加载了一个图像并初始化旋转角度为0。然后,在一个无限循环中,我们显示图像,并等待用户按下键盘上的按键。如果用户按下了 'a' 键,我们将角度减小10,并旋转图像;如果用户按下了 'd' 键,我们将角度增加10,并旋转图像;如果用户按下了 'q' 键,我们则退出循环,程序结束。
请注意,这只是一个示例代码,你需要将其中的'image.jpg'
替换为你自己的图像路径。你还可以根据自己的需求修改按键和旋转角度的设置。
上一篇:按下按钮小部件和碎片问题