2011-02-02 5 views
4

간단하고 특히 을 찾고 있습니다. 텍스트 파일에 저장된 이진 매트릭스 (0과 1로만 구성)를 어떤 종류의 플롯으로 변환 할 수 있습니다. 흑백 비트 맵은 시각화의 목적을 완전히 충족시킵니다. 나는 gnuplot을 시도했지만 gnuplot이 충분하지 않은 것으로 처음 생각한다. 많은 데이터 (수십 MiB, 적어도)가 있고 메모리 소비와 처리 시간이 끔찍하기 때문이다.대형 바이너리 매트릭스를 빠르게 시각화 하시겠습니까?

솔루션을 검색 할 때 주로 이진 (데이터 형식) 및 이진 데이터 형식을 읽을 수있는 가능성이있는 행렬과 관련된 항목을 발견했습니다. gnuplot.

텍스트 매트릭스를 비트 맵으로 변환 할 수있는 프로그램이 있습니까 ? 약간의 C 프로그램 작성을 생각하고 있습니다. 그러나 기존 도구를 사용하기 전에 이미지 처리 작업을 한 번도 해본 적이 없으므로 비트 맵을 만드는 것이 얼마나 어려운지 추측 할 수 없습니다. 가능한.

감사합니다.

답변

7

netpbm을 사용하십시오. 예컨대 :

다음
$ cat | pnmtopng > circle.png 
P1 
10 10 
0001111000 
0111111110 
0111111110 
1111111111 
1111111111 
1111111111 
1111111111 
0111111110 
0111111110 
0001111000 
$ file circle.png 
circle.png: PNG image, 10 x 10, 1-bit grayscale, non-interlaced 

는 최종 결과입니다 enter image description here

+0

감사합니다, 그게 바로 내가 찾고 하였다 있어요. 내가 알기에 * 적절한 유닉스 CLI 도구가 있다는 것을 알았다면 무엇을 찾을 지 모를 경우 찾기가 어려웠다. – tmr

+1

@ user279714 : 예, "netpbm"은 정확히 처음에는 나오지 않습니다. 마음? BTW, http://netpbm.sourceforge.net/doc/directory.html에 대한 주요 문서 페이지에서 은밀하게 배치 된 링크로 밝혀진 설명서 페이지의 온라인 목록을 찾는 것이 영원히 필요했습니다. –

0

제가 작업 한 C를 통해 출력되는 이미지는 C JPG 라이브러리뿐입니다.이 JPG 라이브러리는 사용자의 필요에 부응 할 수도 있고 그렇지 않을 수도 있습니다. 전 세계에서 가장 빠른 것은 아니지만 작업하기 쉽습니다. 로직을 조금만 더 빠르게 만들 수있는 몇 가지 간단한 방법이 있습니다.

내가 생각하는 방식은 글자 그대로 매트릭스를 반복하고 매트릭스 값을 기반으로 흑백 픽셀을 출력하는 것입니다. 나는 그것이 gnuplot보다 더 빠르거나 더 효율적인지 여부를 완전히 확신 할 수 없다.