cv2.rectangle(img, pt1, pt2, color, thickness )
功能是在图片上画一个矩形框,没有返回值。
参数列表:
img:图片
pt1:长方形框左上角坐标
pt2:长方形框右下角坐标
color:字体颜色
thickness:字体粗细
示例
import cv2
image = cv2.imread('F://test.png')
pt1 = (10, 190) # 长方形框左上角坐标
pt2 = (160, 270) # 长方形框右下角坐标
cv2.rectangle(image, pt1, pt2, (255, 0, 0), 5)
cv2.imshow('demo', image)
cv2.resize(src, dsize)
功能是将图片缩放为指定大小,返回值是改变后的图片。
参数列表:
src: 输入图片
dsize:输出图片的尺寸
示例
import cv2
image = cv2.imread('F://test.png')
h, w = image.shape[0:2]
print(f'原来图片的大小:{w}×{h}')
image = cv2.resize(image, (150, 300))
h, w = image.shape[0:2]
print(f'缩小后图片的大小:{w}×{h}')
np.hstack((img1, img2, ···))
和 np.vstack((img1, img2·, ···))
。np.hstack()
和 np.vstack()
是 numpy 提供的两个矩阵拼接函数,顾名思义 np.hstack()
是水平方向拼接,np.vstack()
是垂直方向拼接。
参数列表:
img1:第一个图片
img2:第二个图片
imgn:第 n 个图片
要求:输入图片的行数或者列数相同
示例
import cv2
import numpy as np
image1 = cv2.imread('F://test.png')
image2 = cv2.resize(image1, (150, 300))
image3 = cv2.resize(image1, (550, 410))
image = np.hstack((image1, image2))
image = np.vstack((image, image3))
cv2.imshow('demo', image)
import cv2
import numpy as np
image = cv2.imread('F://test.png')
# 第一个局部放大图
pt1 = (150, 70) # 长方形框左上角坐标
pt2 = (250, 130) # 长方形框右下角坐标
cv2.rectangle(image, pt1, pt2, (0, 0, 255), 2)
patch1 = image[70:130, 150:250, :]
patch1 = cv2.resize(patch1, (200, 120))
# 第二个局部放大图
pt1 = (265, 70) # 长方形框左上角坐标
pt2 = (365, 130) # 长方形框右下角坐标
cv2.rectangle(image, pt1, pt2, (0, 255, 0), 2)
patch2 = image[70:130, 265:365, :]
patch2 = cv2.resize(patch2, (200, 120))
# 拼接
patch = np.hstack((patch1, patch2))
image = np.vstack((image, patch))
cv2.imshow('demo', image)
cv2.imwrite('F://test_result.png', image)