OpenCV에서 호모 그래피 행렬의 정방향 워핑을 시도합니다. 문제를 이해하는 것이 무엇을 의미하는지 알 필요가 없습니다.픽셀 배열을 사용하여 opencv 이미지/numpy 배열 값 설정
2 명 화상 (화상의 화소 값의 2D NumPy와 배열이다), A 및 B, 제 1 열이 X, 제 Y는
[[ 6.96122642e+01 -1.06556338e+03 1.02251944e+00]
[ 6.92265938e+01 -1.06334423e+03 1.02246589e+00]
[ 6.88409234e+01 -1.06112508e+03 1.02241234e+00]
... ]
모양 배열
match
가 있다고 가정하고, 세 번째는 스칼라입니다. 이 XY 값은 이미지 픽셀의 인덱스이며 imageB 인덱스 I 빠르게 imageA에서 imageB 값을 설정하려면이 정보를 사용하려면
[[0,0],
[0,1],
[0,2]
... ]
에 해당합니다. 나는이 작업을하지만
yAs = np.int32(np.round(match[:, 0]/match[:, 2])
xAs = np.int32(np.round(match[:, 1]/match[:, 2])
it = np.nditer(pixelsImageB[0], flags=['f_index'])
while not it.finished:
i = it.index
xA = xAs[i]
yA = yAs[i]
if in_bounds(xA, yA, imageA):
yB = pixB[0][i]
xB = pixB[1][i]
imageB[xB,yB] = imageA[xA,yA]
it.iternext()
싶습니다하지만 순진이 루프가 매우 느립니다하고, NumPy와의 빠른이 만드는 방법을 잘 모르겠어요로 최대한 빨리하지 않습니다. 나는 고급 색인 생성, 방송 등에서의 전체 스크럽입니다. 어떤 아이디어?
'x'와'y'는 첫 번째 후보와 같이 루프 밖으로 이동합니다. 예 : 'x = np.int32 (np.round (match [:, 0]/match [:, 2]))' –
'in_bounds' 란 무엇입니까? – Divakar
x 또는 y가> 0이고 <너비, 높이입니다. 그 x, y 배열 Dan을 어떻게 사용 하시겠습니까? –