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)#下采样