注意灰度图像和彩色图像赋值的区别。
import cv2
import numpy
#灰度图像赋值
img=cv2.imread('aniya.jpg',cv2.IMREAD_REDUCED_GRAYSCALE_2) #读取尺寸减小为1/2的灰度图像
blank0=numpy.zeros_like(img) #创建一个与img同维度的数组,并初始化所有变量为零
blank1=numpy.zeros((300,400),dtype=numpy.uint8) #创建大小为300*400的黑色长方形图像
blank0[0:100,0:200]=img[100:200,100:300] #给图像赋值(灰度图像是二维数组)
blank1[0:100,0:200]=img[100:200,100:300] #给图像赋值
#彩色图像赋值
img2=cv2.imread('aniya.jpg',cv2.IMREAD_REDUCED_COLOR_2)
blank2=numpy.zeros_like(img2)
blank2[0:100,0:200,:]=img2[100:200,100:300,:] #给图像赋值(彩色图像是三维,所以要写成三维)
#显示图像
cv2.imshow('img',img)
cv2.imshow('img2',img2)
cv2.imshow('blank0',blank0)
cv2.imshow('blank1',blank1)
cv2.imshow('blank2',blank2)
#查看图像信息
print(img.shape) #查看灰度图像的信息
print(img2.shape) #查看彩色图像的信息
cv2.waitKey(0)
cv2.destroyAllWindows()