opencv提取ROI,将其余部分置黑,并保存图片,
注意numpy数组的深拷贝
import cv2
import numpy as np
(xmin, ymin) = 300 , 300
(xmax, ymax) = 1270 , 710
srcImg = cv2.imread("1.bmp",cv2.IMREAD_COLOR) #[1]加载图片
cv2.namedWindow("[srcImg]",cv2.WINDOW_NORMAL) #[2]创建图片的显示窗口
cv2.moveWindow("[srcImg]",100,100) #[3]让窗口在指定的位置显示
cv2.imshow("[srcImg]",srcImg) #[4]显示图片
roiImg = srcImg[ymin:ymax,xmin:xmax].copy() # 注意这里需要复制 # roiImg = srcImg[ymin:ymax,xmin:xmax].copy()
#[5]利用numpy中的数组切片设置ROI区域
srcImg[:,:,:] = 0
# srcImg[0:ymax-ymin,0:xmax-xmin] = roiImg #[6]将设置的ROI区域添加到圆图像中
srcImg[ymin:ymax,xmin:xmax] = roiImg
cv2.namedWindow("[ROIImg]",cv2.WINDOW_NORMAL)
cv2.moveWindow("[ROIImg]",600,100) #[3]让窗口在指定的位置显示
cv2.imshow("[ROIImg]",srcImg)
cv2.imwrite('1_2.bmp', srcImg)
cv2.waitKey(0)
cv2.destroyWindow("[ROIImg]") #[7]销毁窗口,Python编程中,最好加上这一句
cv2.destroyWindow("[srcImg]")