我正尝试使用插值从图像中消除色差。我有代码生成以下错误:TypeError:unhashable类型:'numpy.ndarray'。以下是我的代码 - 任何帮助将不胜感激。谢谢你 - Areej 这是一个输入解释python中的图像插值
#splitting an image into its separe bands
source = im.split()
Cfixed = source[2]
Cwarp = source[1]
#take the image minus a ew-wide edge
roi = [ew+1, xdim-ew, ew+1, ydim-ew];
roi_pad = [roi[0]-ew, roi[1]+ew, roi[2]-ew, roi[3]+ew];
for k in range(0,centers_x.size):
cx = centers_x[k]
cy = centers_y[k]
wz = warps[k]
import scipy as sp
from scipy import interpolate
def warpRegion(Cwarp, roi_pad, (cx, cy, wz)):
#Unpack region indices
sx, ex, sy, ey = roi_pad
xramp, yramp = np.mgrid[sx:ex+1, sy:ey+1]
shapeofgrid=xramp.shape
print 'shape of x grid'+str(shapeofgrid)
xrampc = xramp - cx;
yrampc = yramp - cy;
xramp1 = 1/wz*xrampc;
yramp1 = 1/wz*yrampc;
xrampf = xrampc.flatten()
yrampf = yrampc.flatten()
xramp1f = xramp1.flatten()
yramp1f = yramp1.flatten()
reg_w = sp.interpolate.interp2d(yrampf,xrampf,Cwarp, yramp1f, xramp1f,'cubic');
请添加生成示例输入数据中的一些代码(如还有可能是numpy的/ SciPy的导入语句) – YXD 2012-02-23 11:57:05
源= im.split() \t Cfixed =源[2] \t Cwarp =源[1] #take图像减去EW-宽边缘 \t \t ROI = [ ew + 1,xdim-ew,ew + 1,ydim-ew]; – 2012-02-23 12:02:41
我的意思是将它添加到代码中,以便它是一个完整的但最小的(即没有任何不重要的额外代码)示例。你需要帮助人们帮助你,所以如果他们能够直接运行你的代码,那么你更有可能解决你的问题。另外,您是否可以添加完整的错误消息 - 例如包括行号 – YXD 2012-02-23 12:11:37