2012-02-23 1 views
0

이미지에서 색수차를 제거하기 위해 보간을 사용하려고합니다. 내가 가진 코드는 다음 오류를 생성합니다. TypeError : unhashable 형식 : 'numpy.ndarray'. 아래는 내 코드입니다 - 어떤 도움을 주시면 감사하겠습니다. 당신이 -에게 Areej 감사이 오류 메시지의 가능한 설명은 당신이 DICT 키 또는 세트의 요소로 NumPy와 배열을 사용하려고한다는 것입니다 입력 설명이미지 파이썬의 보간

#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'); 
+0

예를 들어, 입력 데이터를 생성하는 코드를 추가하십시오 (같은 목록을 사분면/샘플 영역 당 최고 색상의 목록을 생성하고 해시 :에 (파이썬 이미지 라이브러리)

http://www.pythonware.com/products/pil/

한 가지 방법이 될 것이다 아니라 아마도 NumPy와/scipy import 문) – YXD

+0

소스 im.split =() \t Cfixed = 소스 [2] = \t Cwarp 소스 [1] 이미지 영하 EW 전체 가장자리 \t \t ROI = #take ew + 1, xdim-ew, ew + 1, ydim-ew]; –

+0

완전하지만 최소 (즉, 중요하지 않은 추가 코드가없는) 예가되도록 코드에 코드를 추가하는 것이 좋습니다. 사람들이 당신을 도울 수 있도록 도와야합니다. 따라서 코드를 직접 실행하여 직접 실행할 수 있다면 문제를 해결할 가능성이 훨씬 커집니다. 또한 전체 오류 메시지를 추가 할 수 있습니까? 예 : 라인 번호를 포함하여 – YXD

답변

1

입니다. 오류가 발생한 위치를 살펴보고 해당 행에서 참조되는 모든 변수의 유형을 조사하십시오. 도움이 필요하면 실행 가능한 예제와 예외의 전체 추적을 게시하십시오.

+0

나는이 링크에서 질문을 reposted http://stackoverflow.com/questions/9414204/chromatic-aberration-estimation-in-python –

0

PIL을 사용하는 것이 좋습니다. 이