39805


pythonを始めたばかりの未熟者です。  
画像の赤と青を入れ替えるというプログラムなのですが、下記のプログラムを実行すると

[code]

    Traceback (most recent call last):
      File "exer1.py", line 15, in <module>
        H   = img.shape[0]
    AttributeError: 'NoneType' object has no attribute 'shape'
    
[/code]

となるのですがどう直せばいいのでしょうか  
自分が手を加えたのはfor文の中だけなので改善するのはその中でお願いします。

[code]

    import numpy as np
    import sys
    import cv2
    
    fname_in  = sys.argv[1]
    fname_out = sys.argv[2]
    
    img = cv2.imread(fname_in)
    
    H   = img.shape[0]
    W   = img.shape[1]
    
    for y in range(H) : 
        for x in    range(W) : 
            r = img[y,x,2]
            g = img[y,x,1]
            b = img[y,x,0]
            img[y,x,0] = r  
            img[y,x,2] = b
            # ここを編集
    
    cv2.imwrite(fname_out, img )
    
[/code]


CC BY-SA 3.0
2017-11-24T10:09:31.600
39804
2017-11-24T13:36:53.373
2017-11-24T13:36:53.373
19110
26315
question
python
画像の高さを取得するとエラー AttributeError: 'NoneType' object has no attribute 'shape'


エラーメッセージでは`img =
cv2.imread(fname_in)`で画像の読み込みに失敗したせいか、imgがNoneになっていると思われます。実行時の引数に存在している画像ファイルを渡しているか確認して見てください。


CC BY-SA 3.0
2017-11-24T10:28:39.623
39805
2017-11-24T10:28:39.623
26311
39804
answer