61411


以下のプログラムを実行するとエラーが発生してしまいます。  
どのようにすればよいでしょうか？

**プログラム一部抜粋**

[code]

    from keras.datasets import mnist
    from keras.models import Sequential, load_model
    from keras.layers.core import Dense, Activation, Flatten
    from keras.layers import Conv2D, MaxPooling2D, Dropout, Reshape
    from keras.utils import np_utils
    import numpy as np
    import cv2
    from PIL import Image
    import time
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    w =[0,0]
    h=[0,0]
    x=[0,0]
    y=[0,0]
    j=0
    # 読み込んだ画像から数字だけをとりリサイズする
    z = 0
    for i, ctr in enumerate(sorted_ctrs):
        x, y, w, h = cv2.boundingRect(ctr)
        if x[0] == 0 | x[j] == x:
            w[j] = s(w[j],w)
            h[j] = s(h[j],h)
            x[j] = x
            y[j] = y
        else:
            j = j+1
    
[/code]

**エラー内容**

[code]

    TypeError                                 Traceback (most recent call last)
    <ipython-input-52-e011d956ada2> in <module>
         97 for i, ctr in enumerate(sorted_ctrs):
         98     x, y, w, h = cv2.boundingRect(ctr)
    ---> 99     if x[0] == 0 | x[j] == x:
        100         w[j] = s(w[j],w)
        101         h[j] = s(h[j],h)
    
    TypeError: 'int' object is not subscriptable
    
[/code]


CC BY-SA 4.0
2019-12-13T08:54:07.550
61410
2019-12-13T09:02:42.160
36347
question
python python3
listのTypeErrorについて


`if x[0] == 0 | x[j] == x:`の行がありますがxはリストではありません  
リストではないので添字でのアクセスはできません。  
そのためにエラーになっているようです。


CC BY-SA 4.0
2019-12-13T09:02:42.160
61411
2019-12-13T09:02:42.160
5246
61410
answer