gpt4 book ai didi

python - 如何在cv2.warp方法中获取扭曲了 “from no where”的像素的蒙版?

转载 作者:行者123 更新时间:2023-12-02 16:33:01 26 4
gpt4 key购买 nike

这段代码使我的图像正常

    kp1, des1 = self._detector.detectAndCompute(static, None)
kp2, des2 = self._detector.detectAndCompute(moving, None)
matches = self._matcher.match(des1, des2)

assert len(matches) >= 4 # for perspective tform
moving_pts = np.float32([kp1[m.queryIdx].pt for m in matches]).reshape(-1, 1, 2)
static_pts = np.float32([kp2[m.trainIdx].pt for m in matches]).reshape(-1, 1, 2)
tform, mask = cv2.findHomography(moving_pts, static_pts, cv2.RANSAC, 5.0)
tform = self._force_translation_only(tform)
matches_mask = mask.ravel().tolist()

matches_image = cv2.drawMatches(static, kp1, moving, kp2, matches, None,
flags=cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS,
matchesMask=matches_mask,
matchColor=(0, 255, 0),)

warped = cv2.warpPerspective(moving, tform, (static.shape[1], static.shape[0]), flags=cv2.WARP_INVERSE_MAP)

并产生以下

warped

我想要一个非黑色部分的蒙版,当然做 warped>0还不够好,因为它不能捕获真正的黑色数据像素。

我确定有正确的方法可以做到这一点。

最佳答案

正如Miki在评论中建议的那样,您可以变形相同大小的白色图像。
但是,正如您指出的那样,扭曲进行了两次。

相反,您可以扭曲4个角并使用cv2.polylines绘制白色多边形,但是我不确定它比扭曲白色图像更有效。

关于python - 如何在cv2.warp方法中获取扭曲了 “from no where”的像素的蒙版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62216706/

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