目录
Python截取图片区域并保存03
前言
选择某区域并复制到图片的另一区域
总结
上一节其实实现了图像区域的截取及保存。
关于ROI的截取,看资料上只有两行代码。之前一直不是很清楚怎么填写区域坐标,这里特意记录一下。
1. 如果不清楚坐标,可以用画图打开图片,把鼠标放在图片上,即可在画图的左下角看到坐标点,如下图,红色圈出来的地方
2. 现在已经知道了怎么看ROI区域左上角的坐标和右下角的坐标了。接下来就可以通过代码实现ROI复制到图片的另一个区域和ROI的截取保存。
import cv2 as cv
img = cv.imread("test.png")
ball = img[339: 403, 125: 195]
# print(ball.shape)
img[329: 329 + ball.shape[0], 605: 605 + ball.shape[1]] = ball
# print(img[329:393, 605:675].shape)
cv.imshow("ball", img)
cv.imwrite("t1.png", ball)
cv.waitKey(0)
关键是ROI的坐标img[top_y : bottom_y, top_x : bottom_x]
需要复制到图片的坐标img[top_y : top_y + ROI的高度, top_x : top_x + ROI的宽度]
ROI的高度: 源码中的ball.shape[0]
ROI的高度: 源码中的ball.shape[1]
img.shape: 输出图片的形状,高度,宽度,通道数(不是彩色图片,则不显示通道数)