opencv几何变换函数

本文详细介绍了OpenCV库中的画图函数,如直线、圆、矩形、文字添加,以及基本运算如饱和相加和权重加法。此外,涵盖了图像平移、旋转、仿射变换和透射变换等操作,还有图像金字塔概念。适合深入理解OpenCV图像处理技术。
摘要由CSDN通过智能技术生成

OpenCV画图函数

cv2.line(img, (0, 0), (512, 512), (255, 0, 0), 5)#绘制直线:图片,起点,终点,线条颜色,线条宽度
cv2.circle(img, (256, 256), 256, (0, 0, 255), 4)#绘制圆:图片,圆心,半径,线条颜色,线条宽度
cv2.rectangle(img, (100, 100), (400, 400), (0, 255, 0), 4)# 绘制矩形:图片,左上角点坐标,右下角点坐标,线条颜色,线条宽度
cv2.putText(img, 'hello', (100,150), cv2.FONT_HERSHEY_COMPLEX, 5, (255, 255, 255), 3)
#添加文字:图片,文字内容,文字区域,字体,字体大小,字体颜色,线条宽度

OpenCV运算函数

cv2.add(img1,img2) ##饱和相加   250+110 = 255
cv2.addWeighted(img1,0.7,img2,0.3,0)# 系数相加(从左到右分别为图片1,图片1的系数,图片2,图片2的系数,常数)。

OpenCV图像平移

cv2.warpAffine(img,M,dsize)
#img为原图像
#M为平移矩阵,例:M = np.float32([[1,2,100],[0,1,50]])
#desize为平移之后的图片的大小

OpenCV图像旋转

得到旋转矩阵
M = cv2.getRotationMatrix2D(center, anger, scale)
#center: 旋转中心
#anger:旋转角度
#scale: 缩放比例  
res = cv2.warpAffine(img, M,(cols,rows))

仿射变换

找到变换前后的对应的三个点,生成变换矩阵

pts1 = np.float32([[50,50],[200,50],[50,200]])
pts2 = np.float32([[100,50],[200,50],[50,250]])
M = cv2.getAffineTransform(pts1,pts2)
res = cv.warpAffine(img,M,(cols,roes))

透射变换

找到透射变换前后的四个点,生成矩阵

pts1 = np.float32([[45,65],[45,63],[78,65],[78,56]])
pts2 = np.float32([[45,45],[45,83],[78,75],[78,76]])
生成变换矩阵
T = cv2.getPerspectiveTransform(pts1, pts2)
dst = cv2.warpPerspective(img,T,(cols,rows))

图像金字塔

cv2.pyrUp(img)#上采样
cv2.pyrDown(img)#下采样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值