2014-10-12 8 views
0

제목에서 알 수 있듯이, bitdepth를 조정하여 매트릭스를 이미지로 변환하는 방법은 무엇입니까?행렬을 이미지로 변환하는 방법은 무엇입니까?

모든 셀에 5x5 매트릭스 설정 값을 생성합니다. 마찬가지로,

A=[.....;.....;.....;.....;.....] 

그리고 이미지 파일은 '경로'에서 발생하는이 기능을 사용하면,

imwrite(A, Path, 'BitDepth', 2) 

을 imwrite 기능을 사용. 내가 bitdepth 이미지를 확인하면 올바른 (2 비트)하지만 그 이미지를 읽을 때 나는 이미지 데이터 매트릭스에있는 모든 0을 참조하십시오.

모든 픽셀 값을 정의 할 수있는 2 비트 깊이 5x5 이미지 파일을 만들고 싶습니다. 어떻게 그 문제를 극복합니까?

편집 :

전체 코드 :

A=[0 0 2 1 1;1 2 2 2 2;2 2 2 2 3;1 2 3 3 2;2 3 1 3 2]; 
imwrite(A, 'Path', 'BitDepth', 2); 
I=imread('Path'); //Path is 'C:\Users\...\...\...\...\...\...\A.png' 

그리고 난 내가 매트릭스의 모든 0을 참조하십시오.

+0

이미지를 읽으려면 어떤 코드를 사용합니까? –

+0

이미지를 읽지 않습니다. 나는 매트릭스를 만드는 이미지를 변환하고 싶다. –

+0

당신은 "내가 그 이미지를 읽을 때 나는 모두 0을 본다"라고 말했습니다. 그래서 ... 그게 무슨 뜻입니까? –

답변

1

Image = mat2gray(A)을 사용하면 행렬 A를 회색 음영 이미지로 변환 할 수 있습니다. 기본적으로 mat2gray()은 행렬의 값을 0에서 255로 조정합니다.

그 후 imwrite(Image, 'Path.png', 'Bitdepth', 2)이 정상적으로 작동합니다.

+0

mat2gray (A)를 사용하면 A 값이 변경됩니다. mat2gray를 사용하고 Image를 읽은 후 다시 값을 수동으로 변경하면 이번에는 strechs 값을 8 비트 깊이로 변경합니다. 2 비트 이미지를 만들려고하므로 간단히 작동하지 않습니다. –

관련 문제