python에서 구현된 jpg 포맷 이미지 복구 코드

1177 단어
최근에 고객을 위해 손상된 jpg를 복구하기 위해 쓴 것으로 효과는 괜찮지만 어떠한 경우에도 적용될 수 없습니다.
만약 당신이 손상된 사진이 있다면 한번 시도해 보세요. 만약 사용할 수 있다면 저에게 메시지를 남겨 주세요.
 
  
# -*- coding: utf8 -*-
# !/usr/bin/env python

__author__ = 'fengxing'
__date__ = '2012-1-18 20:13'

import sys


def jpgfix(name):
    sig = '\xFF\xD8\xFF\xDB'
    with open(name, "r") as fd:
        fd.seek(len(sig), 0)
        jpg = fd.read()
        pos = jpg.find(sig)
        if pos < 0:
            raise Exception('Not find signature')
        jpg = jpg[pos:]

    with open(name, "w") as fd:
        fd.seek(0, 0)
        print 'size is:', len(jpg)
        fd.write(jpg)

if __name__ == '__main__':
    try:
        while True:
            jpgfix(sys.argv[1])
    except:
        print 'Done'


사용 방법은 간단합니다. 위 코드는 jpg 로 저장됩니다.fix.py, 명령줄에서 입력
 
  
python jpg_fix.py ABC.jpg

ABC.jpg는 당신이 복원해야 할 그림입니다. (주의: 복원 전에 스스로 백업하십시오)

좋은 웹페이지 즐겨찾기