- うねり
同様に畳み込み演算を用いて、画像A及びBの構成要素が存在すると仮定すると、構成要素Bは、Bがあり、Aは低級B画素置換アンカーをカバーするために使用される画素の最大値を算出し、中心アンカーポイントとして定義されるA上に移動させます構造としてB、任意の形状の第1クリアグレー画像であってもよい(0〜255)(黒 - 白)に対応する、膨張以下の通りでした:
- 腐食
膨張プロセスと腐食同様の動作が、唯一の違いは、アンカーを重複画像の交換画素値の最小値であります
- オープン操作
浸食および拡張の最初の開動作後小さなオブジェクト、単純なノイズを除去することができ、その後、複数の反復をエッチング小ドットを削除複数回行ってもよいが、これは小領域の画素値は小さくなり、元の画像と一致しないことがあり、その後、バック展開されそのまま目標画像の大きさを維持するために。
- 開閉動作
膨張エッチングの第1の閉止動作の後、小孔を充填することができ、ノイズの領域内の小さなオブジェクトを削除単にノイズ小ドットを削除することができ、その後、より多くの反復を数回拡張することができるが、このような大きな画素値領域が大きくなり、オリジナルと一致して、そのまま腐食対象画像のサイズを維持するために戻ってきていません。
- 形態学的勾配(勾配さらに含む基本的な内部勾配、勾配方向)
形態学的勾配はマイナス腐食を拡大しています。
- トップハット
原画像と画像の開動作の違いは、
- ブラックハット
元の画像と開閉動作との差分画像は、
创建用于形态学操作的结构元素:Mat struct = getStructuringElement(MORPH_RECT, Size(3,3), Point(-1,-1)); //Point(-1,-1)默认自动寻找区域中心,参数一有MORPH_RECT \MORPH_CROSS \MORPH_ELLIPSE等几种区域形状。 struct = getStructuringElement(MORPH_RECT, Size(image.cols/20,1), Point(-1,-1)); //就是一条水平直线去扫描,可以取出图片中的横线。 膨胀函数dilate(in1,out1,structa, Point(-1, -1),5); //第三个参数为结构操作元素,5为迭代次数,即膨胀几次; 腐蚀函数:erode(in2, out2, structa, Point(-1, -1), 5); //参数意义同上。 图像形态学运算:morphologyEx(in2, out2, CV_MOP_CLOSE, structa); // CV_MOP_CLOSE为指定操作类型,structa同35为结构操作元素。 //有CV_MOP_OPEN/ CV_MOP_CLOSE/ CV_MOP_GRADIENT为形态学梯度 / CV_MOP_TOPHAT/ CV_MOP_BLACKHAT 形态学操作类型.