Q&A
2回答
2046閲覧
総合スコア16
NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。
OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。
Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
0グッド
0クリップ
投稿2019/05/17 03:07
0
複数の2値化したモノクロマスクをN枚まとめた3次元Numpy配列[x, y, N]に対してOpencvの重心を求めるcv2.moments関数を各マスクに適用したいと思います。 forループを使えば各画像を取り出して適用することは難しく無いですが、numpyの性質を使ったエレガントな手法はありませんでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2019/05/17 03:19 編集
回答2件
def get_centroids(imgs): """ Args: imgs (np.ndarray): in shape (N, H, W) Returns: centroids (np.ndarray): [y, x] order, in shape (N, 2) """ N = imgs.shape[0] X = np.array(zip(*np.where(imgs > 0))).rehshape(N, -1, 2) centeroids = X.mean(axis=1).astype(np.int32) return centroids
投稿2021/10/12 15:44
総合スコア9
使ったことはないですが、numpy.apply_along_axis はどうでしょう? 参考
投稿2019/05/17 03:58
総合スコア136
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
複数のマスク画像に対してforループなしで重心を求めたい