在学习使用ndarray做切片操作的时候的一个案例
# 扩展,针对于上面的切片操作扩展
# jpg 格式的数据0-255 png 0-1
cat = plt.imread('./timg.jpg')
plt.imshow(cat[400:600, 200:500])
plt.show
取出一张图片如下:
取出另一张图片的一部分:
fish = plt.imread('./fish.jpg')
plt.imshow(fish[50:250,:])
plt.show
fish_e = fish[50:250,:]
cat[400:600, 200:500] = fish_e
plt.imshow(cat)
plt.show()
此时会报错:
原因是图像是只读模式,这个时候,在Python中OpenCV图像格式为Numpy.ndarray,可以修改ndarray属性:
fish_e = fish[50:250,:]
fish_e.flags.writeable = True
cat.flags.writeable = True
cat[400:600, 200:500] = fish_e
plt.imshow(cat)
plt.show()
这样就解决了