• 카테고리

    질문 & 답변
  • 세부 분야

    수학

  • 해결 여부

    미해결

SVD를 사용하여 흑백 이미지 압축 코드 관련 질문 있습니다!

20.01.11 09:42 작성 조회수 289

0

선대개 수업과 파이썬-선대 수업 모두 완강을 했습니다!

좋은 강의 정말 감사드립니다.

근데 마지막 예제 코드를 실행하려고 하니까 "ValueError: Format 'jpg' is not supported (supported formats: eps, pdf, pgf, png, ps, raw, rgba, svg, svgz)" 가 뜨면서 저장이 안됩니다. (show는 됩니다) 그래서 애니메이션으로 동작도 안되고요.

검색을 해보니 pillow 에 문제가 있을 수 있다고 해서 삭제 후 재설치를 했지만 역시 안됩니다.

pylab을 import 시켜서 해보라고 해서 그랬는데도 안되고요 ㅠㅠ 

그래서 custom_ani와 p07 모두 jpg가 아니라 png 타입으로 저장을 바꿔주니 되긴 하는데, 그렇게 하면 p08을 실행 했을 때, png 타입이라 일단 애니메이션 효과도 느리고, 무엇보다도 갑자기 title.set_text 에 나와야 할 정보들이 나오지 않고 그냥 그림만 애니메이션으로 보여집니다. 

혹시 위와 같은 에러에 대해서는 어떻게 대응을 해야할까요..?

참고로 운영체제는 맥입니다.

답변 5

·

답변을 작성해보세요.

1

일단, 윈도우 환경의 vs code 에서는 강사님께서 보여주시고 의도하셨던 그대로 진행 됐습니다.

하지만 맥 환경에서는 여전히 문제가 발생했는데, 강제로 Pillow를 import 시키려고 하니까 nonamed module..이라는 메시지가 나오는걸로 봐서는 제 맥 환경에 문제가 생긴것 같습니다 (삭제 후 재설치를 했는데도 안되네요 ㅠㅠ)

하지만 빠르고 친절하고 자세한 답변 감사합니다!! SVD 까지 완강 후에 이번 예제를 통해서 '아~~ 이런 일을 하기 위해서 선대를 배우는구나!' 라는 기분이 들었습니다. 다른 강좌에서 openCV 를 이용한 이미지 분석을 배웠는데, 지금에서야 '아!' 라는 순간을 맛봤습니다 ㅎㅎㅎ 

감사합니다!

1

한가지 더...

이것으로 해결되면 좋겠습니다. 

matplotlib.use("Agg")

위 명령어를 custom_ani.py 에서 import os.path 다음 줄에 한번 추가해보세요.

<script></script>

1

혹~~시 모르니 Pillow를 강제로 import 한번 해보시는것도 추천드려볼게요.

<script></script>

1

안녕하세요, 방금 png로 바꿔서 테스트했을때도 잘 동작하는걸 확인하였습니다.

일단 에러가 matplotlib에서부터 오는것이죠?

일단 python 3.6 / 3.7 에서 상관없이 동작하고, skimage를 설치할때 scikit-image를 설치하셔야 할 겁니다. (0.16.2로 확인)

matplotlib는 3.0.2에서 방금 테스트하였고, pillow는 5.4.1 입니다.

말씀하신것처럼 pillow 이슈처럼 보이긴하는데, pillow 설치후 보통 사라지는 문제같은데 잘 모르겠습니다.

일단 제 윈도우 환경에선 set_text 문구도 png로 바꿔도 잘 동작합니다.

정 안된다면 애니메이션 기능은 빼버리는 수밖에 없고, 폴더에 프레임별로 저장되있는걸 따로 gif를 만들어 애니메이션을 보셔야 할 것 같습니다.

추가로, 윈도우 환경에서 테스트 가능하시면 한번해보시면 좋을 것 같습니다.

제가 맥 사용자가 아니여서 운영체제가 달라서 생기는 이슈라면 현재는 도와드릴 방법이 없습니다 ㅠㅠ 죄송합니다.

답변이 크게 도움이 되지 못한것같아 죄송합니다.

혹시 해결책을 아시게되면 댓글 달아주시면 같은 이슈를 겪는 사용자들에게 도움이 될 것 같습니다.

또한 새로운 정보가 생기시면 공유해주시면 저도 한번 알아보겠습니다.

감사합니다.

0

마지막에 써드린거로도 해결이 안되나보네요 ㅠㅠ

다음엔 여유가 생기면 맥도 제가 한번 준비를...해서 이런 상황에도 대처해보도록 하겠습니다...ㅎㅎ

선대개를 활용한 파이썬 활용은 사실 실전 예시는 거의 없다라고봐도 무방할 정도의 수업이긴한데 좋게 봐주셔서 감사합니다.

이미지, 사운드 처리에도 matrix solver가 많이 사용되겠지만, 실제 제가 공학에서 겪었던 바로는 결국 행렬 계산이 아주 많이 쓰이는 분야는 diffusion equation 혹은 transport equation등의 수식을 풀때도 많이 사용한다라고 생각하셔도 됩니다.

이 강좌가 정말 실질적으로 아주 유용하게 쓰일 수 있는 matrix solver들을 거의 다 다뤘는데, 실질적인 응용에 필요하신분들이 이 강좌를 듣고 도움이 되면 좋겠다라는 생각으로 만들었습니다.

연말엔 다양한 수치해석방법론을 다루는 수업도 만들 계획에 있으니 많은 관심 부탁드립니다.

감사합니다.