使用OpenCV获取我们想要的图片区域
作者:互联网
场景描述 |
---|
给定一张图片,从中截取出你需要的区域,并且以指定的大小显示出来。比如我们想获得下面这张图片的K,并且竖直显示。
实现代码 |
---|
看起来比较困难,但是用cv2库,实现起来其实只有9句代码。
- 首先定义下输出图片的宽为250,高为350。
- 然后读取我们的图片,就是上面这张图。
- 定义需要获取区域的四个点,分别为:左上、右上、左下、右下。
- 定义区域输出时的位置,固定写法。
- 使用库函数实现投影变换。
- 输出并且显示图片。
import cv2
import numpy as np
width,height=250,350
img=cv2.imread("Resources/poker.jpg")
pst1=np.float32([[734,185],[1101,266],[621,679],[1030,789]])
pst2=np.float32([[0,0],[width,0],[0,height],[width,height]])
matrix=cv2.getPerspectiveTransform(pst1,pst2)
imgOutput=cv2.warpPerspective(img,matrix,(width,height))
cv2.imshow("Image",img)
cv2.imshow("Output",imgOutput)
cv2.waitKey(0)
实现效果 |
---|
左侧就是我们提取的图片,右侧是原图。
标签:img,width,获取,cv2,height,OpenCV,np,想要,图片 来源: https://blog.csdn.net/qq_42257666/article/details/122762111