import cv2 import numpy as np import matplotlib.pylab as plt a = cv2.imread('11.jpg') b = cv2.imread('3.jpg') pts = np.float32([[0, 0], [0, 378], [378, 378], [378, 0]]) pts1 = np.float32([[0, 56.7], [0, 321.3], [326.8, 378], [326.8, 0]]) pts2 = np.float32([[0, 0], [0, 378], [326.8, 321.3], [326.8, 56.7]]) M = cv2.getPerspectiveTransform(pts, pts1) N = cv2.getPerspectiveTransform(pts, pts2) dst1 = cv2.warpPerspective(a, M, (378, 378)) dst2 = cv2.warpPerspective(b, N, (378, 378)) plt.figure() plt.subplot(221) plt.imshow(a) plt.subplot(222) plt.axis('off')#去掉坐标轴 plt.imshow(dst1) plt.show()
为什么在Python中做透视变换之后输出的图片会变色?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- kaili_ya 2021-05-12 09:36关注
cv2读取进来的是数字,通道顺序为BGR,因此使用plt显示结果颜色异常
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1