python-opencv截取并显示图片区域

目标效果:
python-opencv截取并显示图片区域_第1张图片

代码:

import cv2
import numpy as np
img=cv2.imread("img/cards.jpg")
width,height=250,350   #显示卡片的宽和高
pts1=np.float32([[245,75],[380,80],[215,230],[365,230]])   #截取对片中的哪个区域
pts2=np.float32([[0,0],[width,0],[0,height],[width,height]])   #定义显示的卡片的坐标
matrix=cv2.getPerspectiveTransform(pts1,pts2)   #两个区域坐标绑定
imgOutput=cv2.warpPerspective(img,matrix,(width,height))   #转换为图片
cv2.imshow("card",imgOutput)
cv2.imshow("image",img)
cv2.waitKey(0)   #延时显示,0代表无限延时

代码比较短,但是在确定坐标的时候可能比较麻烦,可以先用裁剪的方式获取大致坐标,再进行微调。

imgcrop=img[75:245,215:380]   #裁剪图片

 

你可能感兴趣的:(python)