4

3 x 3 の十字形のカーネル マトリックスを初期化し、それを使用して OpenCV4Android で画像を拡張したいと考えています。ネイティブ C++ OpenCV では、次のようにします。

Mat kernel = (Mat_<int>(3,3) << 0,1,0,1,1,1,0,1,0);
dilate(image, image, kernel);

しかし、どうすればJavaの最初の行に相当することができますか? Mat は配列のように扱うことができず、Java には << 演算子がありません。Mats をカーネルとして使用するために初期化する cvCreateStructuringElementEx という OpenCV 関数があるようですが、OpenCV4Android でこの関数を見つけることができません。

本当にありがとう。

4

1 に答える 1

3

私はこれを試したことがありませんが、それが機能するかどうかを確認します。少なくとも、これは構造化要素を設定するOpenCV4Androidの方法です。

Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_CROSS, new Size(3, 3));

また、copyTo()メソッドをチェックアウトすると、マスクを受け取ることができます。

src_mat.copyTo(dst_mat, mask);
于 2012-09-18T13:17:52.513 に答える