어떻게 ImageMagick이를 사용하여 고해상도 사진과 일부 PDF 파일을 변환하기 위해 노력하고있어
바이너리 문자열에서 지팡이와 고해상도 JPEG를 만듭니다. 저는 파이썬 3.62 - 64 비트와 지팡이 0.4.4를 사용하여 10, 64로 이기고 있습니다. 명령 행에서 나는 가지고있다 :
$ /e/ImageMagick-6.9.9-Q16-HDRI/convert.exe -density 400 myfile.pdf -scale 2000x1000 test3.jpg.
나는 잘 작동하고있다. 파이썬에서
:
나에게 저해상도의 JPEG 파일을주고있다from wand.image import Image
file_path = os.path.dirname(os.path.abspath(__file__))+os.sep+"myfile.pdf"
with Image(filename=file_path, resolution=400) as image:
image.save()
image_jpeg = image.convert('jpeg')
. 같은 것을하기 위해이 코드를 내 지팡이 코드로 어떻게 변환합니까?
편집 :
with open(file_path,'rb') as f:
image_binary = f.read()
f.close()
with Image(blob=image_binary,resolution=400) as img:
img.transform('2000x1000', '100%')
img.make_blob('jpeg')
img.save(filename='out.jpg')
이가 읽어 : 나는 문제가 입력 PDF 그렇게 http://docs.wand-py.org/en/0.4.4/guide/read.html#read-blob에 따라 I 시도, 이진 문자열로 이미지 객체로 읽어되어야한다는 것을 깨달았다
파일은 ok이지만 출력은 10 개의 파일로 분할됩니다. 왜? 이것을 1 고해상도 jpeg로 가져와야합니다.
편집 :
은 내가 OCR API를에 JPEG를 보낼 필요, 그래서 객체와 같은 파일에 출력을 쓸 수 있는지 궁금 해서요. https://www.imagemagick.org/api/magick-image.php#MagickWriteImageFile 보면, 나는 시도 :
emptyFile = Image(width=1500, height=2000)
with Image(filename=file_path, resolution=400) as image:
library.MagickResetIterator(image.wand)
# Call C-API Append method.
resource_pointer = library.MagickAppendImages(image.wand,
True)
library.MagickWriteImagesFile(resource_pointer,emptyFile)
이 제공 :
File "E:/ENVS/r3/pdfminer.six/ocr_space.py", line 113, in <module>
test_file = ocr_stream(filename='test4.jpg')
File "E:/ENVS/r3/pdfminer.six/ocr_space.py", line 96, in ocr_stream
library.MagickWriteImagesFile(resource_pointer,emptyFile)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
가 어떻게이 작업을 얻을 수 있나요?
정확한 문제는 무엇입니까? 프로그램은 무엇을 출력합니까? 무엇을 출력하고 싶습니까? –