Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

调用paddle.image.load_image接口时报错 #7737

Closed
yeyupiaoling opened this issue Jan 22, 2018 · 11 comments
Closed

调用paddle.image.load_image接口时报错 #7737

yeyupiaoling opened this issue Jan 22, 2018 · 11 comments
Labels
User 用于标记用户问题

Comments

@yeyupiaoling
Copy link
Contributor

当我把img = myimages.load_image(img, is_color=False)中的参数is_color设置False时,就会报错,报错如下:

Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/local/lib/python2.7/dist-packages/paddle/v2/reader/decorator.py", line 274, in handle_worker
    r = mapper(sample)
  File "/media/wang/软件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/MyReader.py", line 17, in train_mapper
    img = myimages.simple_transform(img, 32, self.imageSize, True, is_color=False)
  File "/media/wang/软件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/Myimage.py", line 320, in simple_transform
    im = resize_short(im, resize_size)
  File "/media/wang/软件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/Myimage.py", line 179, in resize_short
    assert im.shape[-1] == 1 or im.shape[-1] == 3
AssertionError
@qingqing01
Copy link
Contributor

File "/media/wang/软?
件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/Myimage.py", line > 179, in resize_short
assert im.shape[-1] == 1 or im.shape[-1] == 3
AssertionError

报错代码,Myimage.py", line 179, in resize_short 是你自己写的代码?

@qingqing01 qingqing01 added the User 用于标记用户问题 label Jan 22, 2018
@yeyupiaoling
Copy link
Contributor Author

@qingqing01
因为is_color没有传给random_crop,所以我修改以源码,加上了这个参数,好像也步不起作用.
如果把这一行代码加上is_color=False,才会报错,如果没有加上,就没有报错,下面的但是下面设置成is_color=False也不会起作用.

@qingqing01
Copy link
Contributor

File "/media/wang/软件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/Myimage.py", line 179, in resize_short
assert im.shape[-1] == 1 or im.shape[-1] == 3

如果是这行报错, print im.shape 看下shape吧。

@yeyupiaoling
Copy link
Contributor Author

@qingqing01
输出(27, 12),这个是我的图片大小,就算是彩色图也只是输出这个.没有输出带3的那个,
也就是说img = image.load_image(img,is_color=False)是可以把图片转成灰度图的

@yeyupiaoling
Copy link
Contributor Author

@qingqing01
其实我在写使用paddlepaddle识别验证码的博客,验证码要灰度化吧,这样一来,就出现了上面的问题了.

@qingqing01
Copy link
Contributor

qingqing01 commented Jan 23, 2018

def resize_short(im, size):
    """
    Resize an image so that the length of shorter edge is size.

    Example usage:

    .. code-block:: python

        im = load_image('cat.jpg')
        im = resize_short(im, 256)

    :param im: the input image with HWC layout.
    :type im: ndarray
    :param size: the shorter edge size of image after resizing.
    :type size: int
    """
    assert im.shape[-1] == 1 or im.shape[-1] == 3
    h, w = im.shape[:2]
    h_new, w_new = size, size
    if h > w:
        h_new = size * h / w
    else:
        w_new = size * w / h
    im = cv2.resize(im, (h_new, w_new), interpolation=cv2.INTER_CUBIC)
    return im

@yeyupiaoling 是不是调用了这个函数? 按照你的输出 (27, 12), 下面assert会出错,你可以去掉下面这行代码。

    assert im.shape[-1] == 1 or im.shape[-1] == 3

@yeyupiaoling
Copy link
Contributor Author

@qingqing01
是的就是在这里打印的,去掉那行代码后,报错如下:

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/local/lib/python2.7/dist-packages/paddle/v2/reader/decorator.py", line 274, in handle_worker
    r = mapper(sample)
  File "/media/wang/软件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/MyReader.py", line 17, in train_mapper
    img = image.simple_transform(img, 32, self.imageSize, True,is_color=False)
  File "/media/wang/软件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/image.py", line 325, in simple_transform
    im = left_right_flip(im)
  File "/media/wang/软件/ubuntu/paddlepaddle/pycharm/PycharmProjects/LearnPaddle/note5/code/image.py", line 288, in left_right_flip
    return im[:, ::-1, :]
IndexError: too many indices for array

@qingqing01
Copy link
Contributor

@yeyupiaoling

在PR #7786 中修复了~

@yeyupiaoling
Copy link
Contributor Author

@qingqing01
好的,谢谢青青姐。我编译最新的源码试试看。

@qingqing01
Copy link
Contributor

@yeyupiaoling 提醒下,PR刚merge,编译之前请注意下~

@yeyupiaoling
Copy link
Contributor Author

@qingqing01 感谢提醒,我是今天早上clone的,应该是最新的了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
User 用于标记用户问题
Projects
None yet
Development

No branches or pull requests

2 participants