rhsimplex / image-match

🎇 Quickly search over billions of images
2.94k stars 405 forks source link

generate signature met numpy.core._internal.AxisError #101

Open yuezhilanyi opened 6 years ago

yuezhilanyi commented 6 years ago

when i try cal signature of images, i found that some failed with "numpy.core._internal.AxisError". have you met this?

multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "D:\Anaconda3\lib\multiprocessing\pool.py", line 119, in worker result = (True, func(*args, *kwds)) File "D:\Anaconda3\lib\multiprocessing\pool.py", line 44, in mapstar return list(map(args)) File "E:\DCMCIS\cal_image_signature.py", line 31, in cal_sig res = gis.generate_signature(image_path) File "D:\Anaconda3\lib\site-packages\image_match\goldberg.py", line 166, in generate_signature fix_ratio=self.fix_ratio) File "D:\Anaconda3\lib\site-packages\image_match\goldberg.py", line 284, in crop_image rw = np.cumsum(np.sum(np.abs(np.diff(image, axis=1)), axis=1)) File "D:\Anaconda3\lib\site-packages\numpy\lib\function_base.py", line 1163, in diff axis = normalize_axis_index(axis, nd) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 1 """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File ".\cal_image_signature.py", line 50, in result_lst = pool.map(cal_sig, lst) File "D:\Anaconda3\lib\multiprocessing\pool.py", line 260, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "D:\Anaconda3\lib\multiprocessing\pool.py", line 608, in get raise self._value numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 1

my environment: win 10, 17763.104 python 3.5 numpy, 1.15.2 image_match, 1.1.2 pillow, 5.3.0 scipy, 1.1.0

sample picture is below 2_5_675954_5

yuezhilanyi commented 6 years ago

found the reason PIL sees two frames in the image. image read by skimage.io.imread have the wrong shape