

python3.6 opencv3  
numpy ndarray中のある一つの位置(x,y)座標のようなものを求める方法がわかりません。  
numpy
ndarrayのアドレスにアクセスしたい理由は、cv2.Keypoints()の引数に行列の行x,列yがあり，アドレスを使わないと引数が‌​得られないのではと考えたためです。

[code]

    patches[x]=
    [[[255 255 255]
    [255 255 255]
    [255 255 255]]
    
[/code]

上記のような配列の真ん中の255の位置をある変数に指定するにはどうすればよいのでしょか？

配列a=[255 255 255]  
[255 255 255]  
[255 255 255]  
の行1列1のアドレスをbに代入b=&a[1][1]をpythonで実現したいです.  
単に生のアドレスを変数に獲得したいというのが目的です


CC BY-SA 3.0
2017-08-17T06:41:26.610
37268
2017-08-18T13:48:13.163
2017-08-18T13:48:13.163
24713
24713
question
opencv python3 numpy
pythonにおける配列の座標指定


真ん中の位置にある値を取得したい、ということでよろしいでしょうか。  
提示されたコードは開始括弧が多く、3次配列なのか2次配列なのか判断できませんでした。  
C++で`&a[1][1]`だということなので、2次配列と解釈します。

[code]

    import numpy
    
    patches = numpy.array([
      [255, 255, 255],
      [255, 255, 255],
      [255, 255, 255]
      ])
    
    print( patches[1,1] )
    #=> 255
    
    patches[1,1] = 100
    print(patches)
    #=> [[255 255 255]
    #    [255 100 255]
    #    [255 255 255]]
    
[/code]

ndarrayは各次元のインデックスをまとめて指定できます。  
指定しなかった場合は、指定しなかった全てが選択された新しいndarrayになります。

[code]

    print( patches[1] )
    #=> [255 100 255]
    
[/code]

追記：C言語などにあるようなメモリアドレスはnumpyの抽象化によってアクセスできません。


CC BY-SA 3.0
2017-08-17T10:18:01.150
37282
2017-08-17T11:01:45.173
2017-08-17T11:01:45.173
19925
19925
37268
answer