如何在python中使用opencv实现一个旋转矩形框裁减功能

  介绍

这篇文章主要介绍了如何在python中使用opencv实现一个旋转矩形框裁减功能,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:

python是什么意思

python是一种跨平台的,具有解释性,编译性,互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

#, - *安康;编码:gb2312  - * -   import  cv2   得到math  import  *   import  numpy  as  np   import 时间      def  rotateImage (img,学位,pt1、pt2 pt3, pt4):   高度、宽度=才能img.shape (2):   heightNew 才能=,int (width  *,晶圆厂(sin(弧度(学位))),+,height  *,晶圆厂(cos(弧度(学位))))   widthNew 才能=,int (height  *,晶圆厂(sin(弧度(学位))),+,width  *,晶圆厂(cos(弧度(学位))))   matRotation才能=cv2.getRotationMatrix2D((宽/2,高/2),学位,1)   matRotation才能(0,2),+=,(widthNew 安康;宽度),/2   matRotation才能[1,2],+=,(heightNew 安康;高度),/2   imgRotation 才能=,cv2.warpAffine (img, matRotation,, (heightNew widthNew也),borderValue=https://www.yisu.com/zixun/(255、255、255))   pt1=列表(pt1)   pt3=列表(pt3)   [[pt1 [0]], [pt1 [1]]]=np。点(matRotation np。阵列([[pt1 [0]], [pt1 [1]], [1]]))   [[pt3 [0]], [pt3 [1]]]=np。点(matRotation np。阵列([[pt3 [0]], [pt3 [1]], [1]]))   imgOut=imgRotation [int (pt1 [1]): int (pt3 [1]), int (pt1 [0]): int (pt3 [0])]   imgOut cv2.imshow (“imgOut”) #裁减得到的旋转矩形框   imgOut cv2.imwrite (“imgOut.jpg”)   # pt2=列表(pt2)   # pt4=列表(pt4)   # [[pt2 [0]]、[pt2 [1]]]=np。点(matRotation np。阵列([[pt2 [0]], [pt2 [1]], [1]]))   # [[pt4 [0]]、[pt4 [1]]]=np。点(matRotation np。阵列([[pt4 [0]], [pt4 [1]], [1]]))   # pt1=(int (pt1 [0]), int (pt1 [1]))   # pt2=(int (pt2 [0]), int (pt2 [1]))   # pt3=(int (pt3 [0]), int (pt3 [1]))   # pt4=(int (pt4 [0]), int (pt4 [1]))   #绘制矩形(imgRotation pt1、pt2 pt3, pt4, (255, 0, 0), 2)   返回imgRotation      def绘制矩形(img pt1、pt2 pt3, pt4,颜色,线宽):   cv2。线(img, pt1 pt2、颜色、线宽)   cv2。线(img, pt2 pt3、颜色、线宽)   cv2。线(img, pt3 pt4、颜色、线宽)   cv2。线(img, pt1 pt4、颜色、线宽)         if __name__==癬_main__”:   开始时间=time.time ()   imgSrc=cv2.imread (' E:/桌面/lena.jpg ')   imgResize=cv2.resize (imgSrc (500500))   pt1=(100100)   pt2=(150年,50)   pt3=(175、75)   pt4=(125125)   #绘制矩形(imgResize pt1、pt2 pt3, pt4, (0, 0255), 2)   imgRotation=rotateImage (imgResize度(量化(50,50)),pt1, pt2, pt3, pt4)   endTime=time.time ()   打印endTime-startTime   imgRotation cv2.imshow (“imgRotation”)   imgRotation cv2.imwrite (“imgRotation.jpg”)   cv2.waitKey (0)

到此这篇关于如何在python中使用opencv实现一个旋转矩形框裁减功能的文章就介绍到这了,更多相关如何在python中使用opencv实现一个旋转矩形框裁减功能的内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

如何在python中使用opencv实现一个旋转矩形框裁减功能