gpt4 book ai didi

python - OpenCV - 调整照片倾斜角度(倾斜)

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:51 29 4
gpt4 key购买 nike

我有一个相机从上方指向禅宗花园。然而,相机固定在侧面而不是直接在板的上方。结果,图像看起来像这样(注意矩形的倾斜形状): enter image description here

有没有办法处理图像,使沙子区域看起来或多或少像一个完美的正方形?

cap = cv2.VideoCapture(0)
while True:
ret, img = cap.read()
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img = cv2.flip(img,0)
cv2.imshow('Cropping', img)
if cv2.waitKey(500) & 0xff == 27:
cv2.destroyAllWindows()
break

非常感谢。

最佳答案

您可以对图像进行透视变换。这是让您大致了解的第一枪:

import cv2
import numpy as np

img = cv2.imread('zen.jpg')
rows, cols, ch = img.shape
pts1 = np.float32(
[[cols*.25, rows*.95],
[cols*.90, rows*.95],
[cols*.10, 0],
[cols, 0]]
)
pts2 = np.float32(
[[cols*0.1, rows],
[cols, rows],
[0, 0],
[cols, 0]]
)
M = cv2.getPerspectiveTransform(pts1,pts2)
dst = cv2.warpPerspective(img, M, (cols, rows))
cv2.imshow('My Zen Garden', dst)
cv2.imwrite('zen.jpg', dst)
cv2.waitKey()

enter image description here

您可以对数字进行更多调整,但您明白了。

这里有一些在线示例。第一个链接有一个有用的 Hook 点图,它与转换矩阵相关:

关于python - OpenCV - 调整照片倾斜角度(倾斜),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497736/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com