2017-11-16 15 views
0

SVGモフォロジフィルタの拡張フィルタを実装しようとしています。SVGモフォロジーフィルタの拡張フィルタを実装

拡張(または侵食)カーネルは、幅が2 * x-radius、高さが2 * y-radiusの四角形です。膨張では、出力ピクセルは、入力画像のカーネル矩形内の対応するR、G、B、A値の個々の成分ごとの最大値である。

https://www.w3.org/TR/SVG/filters.html#feMorphologyElement

私は本当にこの場合、カーネルがどうあるべきかを見つけることができませんでした。いくつか指摘していただけますか?

入力画像の各ピクセルに対して、以下の領域の極大値を見つけるのは本当に同じですか? R、G、B及びAのそれぞれの最大値を追跡する矩形内の全ての画素を通る

int startX = std::max(pixelCordX - radiusX, 0); 
    int endX = std::min(pixelCordX + radiusX, width - 1); 
    int = std::max(pixelCordY - radiusY, 0); 
    int endY = std::min(pixelCordY + radiusY, height - 1); 

    outputPixel(pixelCordX , pixelCordY ) = ComputeMaxMin(image[][], startX, endX, startY, endY); 

答えて

2

ループは、単一のカラー値に各成分の最大値を組み合わせ、そして中心ことを確認しますピクセルカラー。

関連する問題