2010-07-19 4 views
12

흑백의 그림으로 표시하고 싶은 2D 2 진 행렬이 있습니다. 2D 이진 행렬을 흑백 그림으로 표시하려면 어떻게해야합니까?

1 1 0 1 
0 0 1 0 
1 1 0 1 
1 0 0 0 

어떻게

이는 검은 색과 흰색 매트릭스 그릴 수 있습니다 : 예를 들어, 다음과 같이 내가 네 별 4 매트릭스 있다고 가정 해 봅시다? 입력 바이너리 행렬 중 일부는 크기가 100x9 크기이므로 다른 크기의 행렬로 일반화하는 솔루션이 이상적입니다.

답변

14

및 여기

mat = [1 1 0 1; 0 0 1 0; 1 1 0 1; 1 0 0 0]; % Your sample matrix 
[r, c] = size(mat);       % Get the matrix size 
imagesc((1:c)+0.5, (1:r)+0.5, mat);   % Plot the image 
colormap(gray);        % Use a gray colormap 
axis equal         % Make axes grid sizes equal 
set(gca, 'XTick', 1:(c+1), 'YTick', 1:(r+1), ... % Change some axes properties 
     'XLim', [1 c+1], 'YLim', [1 r+1], ... 
     'GridLineStyle', '-', 'XGrid', 'on', 'YGrid', 'on'); 

그리고 이미지입니다 당신이 얻을해야합니다 :

,536 검은 색과 흰색 사각형) 당신은 axes properties 그래서 같은 imagesc 기능, gray colormap를 사용하고 수정할 수 있습니다

enter image description here

1

아마도 spy 기능을 사용해보십시오.

4

는 제가 질문을 잘 가지고 있는지 확실하지 않습니다,하지만 당신은 다음과 같이 이미지 기능을 시도 할 수 있습니다 : 당신은 그리드 라인 크로스 워드 퍼즐 형 플롯 as shown here을 (확인하려면

A = [ 1 1 0; 1 0 1; 1 1 1 ]; 
colormap([0 0 0; 1 1 1 ]); 
image(A .* 255); 
+0

대단히 감사합니다. 이것은 도움이되었지만 필요한만큼 정확히 무엇이 필요한지, 이와 같은 것이 필요합니다 (URL을 찾으십시오) : http://www.mathworks.com/access/helpdesk/help/techdoc/ref/pcolor1.gif – sahamdan

관련 문제