이미지를 확대하려고합니다.python-numpy를 사용하여 이미지를 확대하십시오.
import numpy as np
from scipy.ndimage.interpolation import zoom
import Image
zoom_factor = 0.05 # 5% of the original image
img = Image.open(filename)
image_array = misc.fromimage(img)
zoomed_img = clipped_zoom(image_array, zoom_factor)
misc.imsave('output.png', zoomed_img)
잘린 확대 참조 :
Scipy rotate and zoom an image without changing its dimensions
이없는 작품을 수행하고이 오류가 발생합니다 :이 에 ValueError: could not broadcast input array from shape
어떤 도움이나 제안 주어진 이미지를 확대 할 수있는 방법이 있나요을 줌 배율 그리고 무엇이 문제입니까?
역 추적 :
이Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 1443, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "title_apis_proxy.py", line 798, in get
image, msg = resize_image(image_local_file, aspect_ratio, image_url, scheme, radius, sigma)
File "title_apis_proxy.py", line 722, in resize_image
z = clipped_zoom(face, 0.5, order=0)
File "title_apis_proxy.py", line 745, in clipped_zoom
out[top:top+zh, left:left+zw] = zoom(img, zoom_factor, **kwargs)
ValueError: could not broadcast input array from shape (963,1291,2) into shape (963,1291,3)
이미지의 기본 데이터 형식에 문제가 있다고 생각할 수 있습니다. 왜 [scipy의 기능] (http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.imread.html#scipy.ndimage.imread)을 사용하여 이미지를 읽지 않는지 (PIL 데이터 구조에 대한 일부 가정을 처리하는 것이 더 적합 할 수 있습니다.) 그리고''clipped_zoom'''이란 무엇입니까? 확대/축소 가져 오기는 scipy 0.18.0에'''zoom'' 함수 하나만 있습니다. – sascha
나는 이것으로부터 도움을 받았다. http://stackoverflow.com/questions/37119071/scipy-rotate-and-zoom-an-image-without-changing-its-dimensions 여기에는 clipped_zoom 함수가 포함되어있다. – Abhi
음 ... 그렇다. 디버그하기 쉽지 않습니다. 정말로 도움이 필요하면 우리에게 모든 정보를 제공해야합니다. ''clipped_zoom''', 우리가 어떻게 알아야할까요? 또한 ... 당신은 단지 오류의 일부분을 게시하고 있습니다 (이것은 아마 당신에게 어떤 동작을 재구성합니까/numpy-operation은 깨지는 것입니다 -> 코드에서 어디에 위치합니까?) – sascha