2017-12-31 111 views
3

들어오는 새해 모두에게 행복합니다!mathematica의 이미지 내보내기 및 가져 오기 불일치

Mathematica 11에서 다음 코드를 실행했지만 결과를 이해할 수 없습니다. b와 b1은 문자로 표시 될 때 동일한 크기이고 모양이 같지만 Mathematica는 그것들을 다르게 간주합니다. 왜 이런 일이 발생하는지 조언 해 주시겠습니까?

a = Import["ExampleData/rose.gif"]; 
b = ExportString[a, "PNG"]; 
c = ImportString[b, "PNG"]; 
Export["D:/flower.txt", b]; 
b1 = Import["D:/flower.txt"]; 
ByteCount /@ {b, b1} 
b == b1 

감사합니다.

+0

정수 반올림 (및 역) 변환이 반올림 오류로 여기에있는 것으로 생각됩니다. – agentp

답변

4

텍스트로 내보내려면 b 문자열 형식이 필요합니다. PNG로 변환 Base64가 작동합니다.

a = Import["ExampleData/rose.gif"]; 
b = ExportString[a, {"Base64", "PNG"}] 
c = ImportString[b, {"Base64", "PNG"}] 
Export["D:/flower.txt", b, "String"]; 
b1 = Import["D:/flower.txt", "String"]; 
ByteCount /@ {b, b1} 
b == b1 
{41016, 41016} 
True 

새해 복 많이 받으세요!

+0

인상적입니다! 정말 고맙습니다!!! – user1724270