2013-04-08 7 views
0

그와 같은 문제가 있습니다.다른 행렬에서 행렬 값을 추출하십시오.

points (크기 = 65,2)는 이미지의 픽셀 좌표가있는 변수입니다. 첫 번째 열에는 x 좌표가 있고 두 번째 y 좌표에는 행렬의 크기 값 (예 : 크기 = 256,256,6)을 한 채널의 픽셀 좌표에서 가져 오려고합니다. 3 (3).

나는 성공할 수 없었다.

intensities = images(points(:,2), points(:,1), 3); 

은 매트릭스를 65x65로 만듭니다.

감사

네즈

+0

질문에 대한 대답이 충분하지 않습니다. 이미지가 256x256x6 매트릭스 인 경우 intensity는 이제 채널 3의 값입니다. abs (강도)는 이러한 값의 크기를 제공하지만 그 다음에는 무엇을하고 싶습니까? – Geodesic

답변

1

당신은 당신의 이미지에서 원하는 값을 얻기 위해 선형 인덱스로 x,y 인덱스를 변환 할 수 있습니다 :이 65x1 경우 각각 인 intensities 매트릭스 결과

% some sample data  
list = round(256*rand(65,2)); 
im = rand(256,256); 
% calculate linear indices 
ind = sub2ind([256,256],list(:,1),list(:,2)); 
intensities = im(ind); 

을 요소는 목록에서 x,y 쌍에 해당합니다.

관련 문제