Eu preciso usar o módulo skimage, que chama o módulo SciPy (eu preciso encontrar contornos)
import numpy
from sys import argv
from PIL import Image
from skimage import measure
# Inicialization
spritesToFind = argv[1]
spriteSize = argv[2]
sheet = Image.open(argv[3])
sheet.verify()
# To grayscale, so contour finding is awesome
grayscale = sheet.convert('L')
# Let numpy do the heavy lifting for converting pixels to pure black or white
data = np.asarray(grayscale).copy()
# Find the contours we need
contours = measure.find_contours(r_grey, 0.8)
# Now we put it back in PIL land
sprite = Image.fromarray(data)
sprite.save(str(Counter), "PNG")
Comecei uma viagem épica de 5 horas para descobrir como resolver o problema:
Traceback (most recent call last):
File "algo.py", line 4, in <module>
from skimage import measure
File "/usr/local/lib/python2.7/dist-packages/scikit_image-0.9.3-py2.7-linux-i686.egg/skimage/measure/__init__.py", line 3, in <module>
from ._regionprops import regionprops, perimeter
File "/usr/local/lib/python2.7/dist-packages/scikit_image-0.9.3-py2.7-linux-i686.egg/skimage/measure/_regionprops.py", line 5, in <module>
from scipy import ndimage
ImportError: No module named scipy
Então eu achei que tinha que instalar o SciPy. Comecei com pip
e easy_install
, não consegui fazer a coisa funcionar. Eu baixei os tarballs numpy e scipy e os configurei, mas bibliotecas necessárias, que eu tinha, apenas versões mais novas, mas não as queria, mesmo que eu as tenha apontado. A próxima coisa que eu precisei foi do gfortran, que eu não pude instalar porque nenhuma das bibliotecas funcionaria (existe um link de gfortran no linuxmint.community mas você não pode alcançá-lo porque atpurl diz que o pacote é virtual). Eu tentei de tudo. Você pode me dar alguma ajuda? Tudo o que quero é que o SciPy funcione.
SciPy:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.