Python Numpy.ndarray ValueError:assignment destination is read-only

在学习使用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()

 

这样就解决了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值