私はモルフォロジーのオープニングをプログラミングしており、入力画像と同じ結果を返しています。私はそれの説明を誤解していますか?私のコードは次のとおりです。モルフォロジーのオープニングを返す入力
Var x, y;
Func limit, erosion, dilation;
ImageParam input(type_of<uint8_t>(), 2);
Param<int> dimension;
RDom r(-1 * dimension/2, dimension, -1 * dimension/2, dimension);
limit = BoundaryConditions::repeat_edge(input);
erosion(x, y) = argmin(r, limit(x + r.x, y + r.y), "erosion")[2];
dilation(x, y) = argmax(r, erosion(x + r.x, y + r.y), "dilation")[2];
erosion.compute_root();
dilation.vectorize(x, 4).parallel(y);
Target target = get_host_target();
target.set_feature(Target::NoRuntime, true);
dilation.compile_to_static_library(path, { input,dimension }, target);
モルフォロジーのオープニングはノーオペレーションにすることができます。テストとして画像に塩騒音を加えましたか?それは開封後に残っていますか? –
私はOpenCVのドキュメントの例として使われている絵を使ってみましたので、結果はどうなるか考えていますが、私の関数は同じ結果を生みません。 私が使用している画像はこの[画像]の左側の部分です(http://docs.opencv.org/2.4/_images/Morphology_2_Tutorial_Theory_Opening.png) – Rok
また、最初に確認するのは、ハライド生成コードの呼び出しからエラーが戻ってくる... –