Python 图像的NumPy切片
我一直在寻找复制图像的另一个 我编写了一个非常简单的python函数:Python 图像的NumPy切片,python,image,opencv,numpy,crop,Python,Image,Opencv,Numpy,Crop,我一直在寻找复制图像的另一个 我编写了一个非常简单的python函数: def fromCopyTo(target, destination, x, y): h, w = target.shape destination[y:y+h,x:x+w] = target return destination 概念是获取目标图像和X和Y坐标,并将目标图像复制到该位置——而不考虑目标图像的大小(假设目标图像足够大) 我正在使用一个空掩码复制到并尝试复制一个大小为20x20的图
def fromCopyTo(target, destination, x, y):
h, w = target.shape
destination[y:y+h,x:x+w] = target
return destination
概念是获取目标图像和X和Y坐标,并将目标图像复制到该位置——而不考虑目标图像的大小(假设目标图像足够大)
我正在使用一个空掩码复制到并尝试复制一个大小为20x20的图像-目标图像只有(0,0,0)和(255255)种颜色
问题是y:y+h,返回大小11的最大值,而不是大小20
ValueError:无法将输入数组从形状(20,20)广播到
形状(11,20)
如果我翻转函数destination[x:x+w,y:y+h]=target
(据我所知是错误的),我得到:
ValueError:无法将输入数组从形状(20,20)广播到
形状(20,0)
通过测试,我运行了print len(destination[y_position:y_position+30,0])
,它将所有内容返回到11,但在11之后,它只是将其最大化到11。正如示例返回的11
我做错了什么 结果是,如果我试图切割的数量超过掩码矩阵中的可用数量,我不会收到错误消息,说我溢出了,而只是将其限制在最大可能的大小