コード例 #1
0
ファイル: Cv_F.cs プロジェクト: jorik041/opencvsharp
        /// <summary>
        /// 連結成分を指定した色で塗りつぶす
        /// </summary>
        /// <param name="image">入力画像.1チャンネルあるいは3チャンネル,8ビットあるいは浮動小数点型.CV_FLOODFILL_MASK_ONLYフラグがセットされたとき以外は,データが書き換えられる.</param>
        /// <param name="seedPoint">連結成分の開始点.シードピクセル. </param>
        /// <param name="newVal">塗りつぶされる領域の新しいピクセル値(塗りつぶす値).</param>
        /// <param name="loDiff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容下限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="upDiff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容上限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="comp">構造体へのポインタ.この関数は,塗りつぶされた領域の情報を構造体に代入する. </param>
        /// <param name="flags">操作フラグ.下位ビットは関数内で用いられる連結性に関する値4(デフォルト)または8が入っている. 
        /// 連結性は,どのピクセルを隣接ピクセルと見なすかを定義する.上位ビットは0,あるいはCv.FLOODFILL_FIXED_RANGE, Cv.FLOODFILL_MASK_ONLY との組み合わせである.</param>
        /// <param name="mask">処理用マスク</param>
#else
        /// <summary>
        /// Fills a connected component with given color.
        /// </summary>
        /// <param name="image">Input 1- or 3-channel, 8-bit or floating-point image. It is modified by the function unless CV_FLOODFILL_MASK_ONLY flag is set. </param>
        /// <param name="seedPoint">The starting point. </param>
        /// <param name="newVal">New value of repainted domain pixels. </param>
        /// <param name="loDiff">Maximal lower brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="upDiff">Maximal upper brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="comp">Pointer to structure the function fills with the information about the repainted domain. </param>
        /// <param name="flags">The operation flags. Lower bits contain connectivity value, 4 (by default) or 8, used within the function. Connectivity determines which neighbors of a pixel are considered. Upper bits can be 0 or combination of the flags</param>
        /// <param name="mask">Operation mask</param>
#endif
        public static void FloodFill(CvArr image, CvPoint seedPoint, CvScalar newVal, 
            CvScalar loDiff, CvScalar upDiff, out CvConnectedComp comp, FloodFillFlag flags, CvArr mask)
        {
            if (image == null)
            {
                throw new ArgumentNullException("image");
            }
            IntPtr maskPtr = (mask == null) ? IntPtr.Zero : mask.CvPtr;

            comp = new CvConnectedComp();

            NativeMethods.cvFloodFill(image.CvPtr, seedPoint, newVal, loDiff, upDiff, comp.CvPtr, (int)flags, maskPtr);
        }
コード例 #2
0
ファイル: Cv_F.cs プロジェクト: sanglin307/UnityOpenCV
        /// <summary>
        /// 連結成分を指定した色で塗りつぶす
        /// </summary>
        /// <param name="image">入力画像.1チャンネルあるいは3チャンネル,8ビットあるいは浮動小数点型.CV_FLOODFILL_MASK_ONLYフラグがセットされたとき以外は,データが書き換えられる.</param>
        /// <param name="seed_point">連結成分の開始点.シードピクセル. </param>
        /// <param name="new_val">塗りつぶされる領域の新しいピクセル値(塗りつぶす値).</param>
        /// <param name="lo_diff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容下限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="up_diff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容上限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="comp">構造体へのポインタ.この関数は,塗りつぶされた領域の情報を構造体に代入する. </param>
        /// <param name="flags">操作フラグ.下位ビットは関数内で用いられる連結性に関する値4(デフォルト)または8が入っている. 
        /// 連結性は,どのピクセルを隣接ピクセルと見なすかを定義する.上位ビットは0,あるいはCv.FLOODFILL_FIXED_RANGE, Cv.FLOODFILL_MASK_ONLY との組み合わせである.</param>
        /// <param name="mask">処理用マスク</param>
#else
        /// <summary>
        /// Fills a connected component with given color.
        /// </summary>
        /// <param name="image">Input 1- or 3-channel, 8-bit or floating-point image. It is modified by the function unless CV_FLOODFILL_MASK_ONLY flag is set. </param>
        /// <param name="seed_point">The starting point. </param>
        /// <param name="new_val">New value of repainted domain pixels. </param>
        /// <param name="lo_diff">Maximal lower brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="up_diff">Maximal upper brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="comp">Pointer to structure the function fills with the information about the repainted domain. </param>
        /// <param name="flags">The operation flags. Lower bits contain connectivity value, 4 (by default) or 8, used within the function. Connectivity determines which neighbors of a pixel are considered. Upper bits can be 0 or combination of the flags</param>
        /// <param name="mask">Operation mask</param>
#endif
        public static void FloodFill(CvArr image, CvPoint seed_point, CvScalar new_val, CvScalar lo_diff, CvScalar up_diff, out CvConnectedComp comp, int flags, CvArr mask)
        {
            if (image == null)
            {
                throw new ArgumentNullException("image");
            }
            IntPtr maskPtr = (mask == null) ? IntPtr.Zero : mask.CvPtr;

            comp = new CvConnectedComp();

            CvInvoke.cvFloodFill(image.CvPtr, seed_point, new_val, lo_diff, up_diff, comp.CvPtr, flags, maskPtr);
        }
コード例 #3
0
ファイル: Cv_F.cs プロジェクト: jorik041/opencvsharp
        /// <summary>
        /// 連結成分を指定した色で塗りつぶす
        /// </summary>
        /// <param name="image">入力画像.1チャンネルあるいは3チャンネル,8ビットあるいは浮動小数点型.CV_FLOODFILL_MASK_ONLYフラグがセットされたとき以外は,データが書き換えられる.</param>
        /// <param name="seedPoint">連結成分の開始点.シードピクセル. </param>
        /// <param name="newVal">塗りつぶされる領域の新しいピクセル値(塗りつぶす値).</param>
        /// <param name="loDiff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容下限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="upDiff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容上限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="comp">構造体へのポインタ.この関数は,塗りつぶされた領域の情報を構造体に代入する. </param>
        /// <param name="flags">操作フラグ.下位ビットは関数内で用いられる連結性に関する値4(デフォルト)または8が入っている. 
        /// 連結性は,どのピクセルを隣接ピクセルと見なすかを定義する.上位ビットは0,あるいはCv.FLOODFILL_FIXED_RANGE, Cv.FLOODFILL_MASK_ONLY との組み合わせである.</param>
#else
        /// <summary>
        /// Fills a connected component with given color.
        /// </summary>
        /// <param name="image">Input 1- or 3-channel, 8-bit or floating-point image. It is modified by the function unless CV_FLOODFILL_MASK_ONLY flag is set. </param>
        /// <param name="seedPoint">The starting point. </param>
        /// <param name="newVal">New value of repainted domain pixels. </param>
        /// <param name="loDiff">Maximal lower brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="upDiff">Maximal upper brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="comp">Pointer to structure the function fills with the information about the repainted domain. </param>
        /// <param name="flags">The operation flags. Lower bits contain connectivity value, 4 (by default) or 8, used within the function. Connectivity determines which neighbors of a pixel are considered. Upper bits can be 0 or combination of the flags</param>
#endif
        public static void FloodFill(CvArr image, CvPoint seedPoint, CvScalar newVal, 
            CvScalar loDiff, CvScalar upDiff, out CvConnectedComp comp, FloodFillFlag flags)
        {
            FloodFill(image, seedPoint, newVal, loDiff, upDiff, out comp, flags, null);
        }
コード例 #4
0
ファイル: Cv_F.cs プロジェクト: sanglin307/UnityOpenCV
        /// <summary>
        /// 連結成分を指定した色で塗りつぶす
        /// </summary>
        /// <param name="image">入力画像.1チャンネルあるいは3チャンネル,8ビットあるいは浮動小数点型.CV_FLOODFILL_MASK_ONLYフラグがセットされたとき以外は,データが書き換えられる.</param>
        /// <param name="seed_point">連結成分の開始点.シードピクセル. </param>
        /// <param name="new_val">塗りつぶされる領域の新しいピクセル値(塗りつぶす値).</param>
        /// <param name="lo_diff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容下限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="up_diff">現在の観測対象ピクセルと,その連結成分に属する隣接ピクセル, またはそのピクセルを連結成分に追加するためのシードピクセルとの,輝度値/色の差(違い)の許容上限値. 8ビットカラー画像のときは,パックされた値. </param>
        /// <param name="comp">構造体へのポインタ.この関数は,塗りつぶされた領域の情報を構造体に代入する. </param>
        /// <param name="flags">操作フラグ.下位ビットは関数内で用いられる連結性に関する値4(デフォルト)または8が入っている. 
        /// 連結性は,どのピクセルを隣接ピクセルと見なすかを定義する.上位ビットは0,あるいはCv.FLOODFILL_FIXED_RANGE, Cv.FLOODFILL_MASK_ONLY との組み合わせである.</param>
#else
        /// <summary>
        /// Fills a connected component with given color.
        /// </summary>
        /// <param name="image">Input 1- or 3-channel, 8-bit or floating-point image. It is modified by the function unless CV_FLOODFILL_MASK_ONLY flag is set. </param>
        /// <param name="seed_point">The starting point. </param>
        /// <param name="new_val">New value of repainted domain pixels. </param>
        /// <param name="lo_diff">Maximal lower brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="up_diff">Maximal upper brightness/color difference between the currently observed pixel and one of its neighbor belong to the component or seed pixel to add the pixel to component. In case of 8-bit color images it is packed value. </param>
        /// <param name="comp">Pointer to structure the function fills with the information about the repainted domain. </param>
        /// <param name="flags">The operation flags. Lower bits contain connectivity value, 4 (by default) or 8, used within the function. Connectivity determines which neighbors of a pixel are considered. Upper bits can be 0 or combination of the flags</param>
#endif
        public static void FloodFill(CvArr image, CvPoint seed_point, CvScalar new_val, CvScalar lo_diff, CvScalar up_diff, out CvConnectedComp comp, int flags)
        {
            FloodFill(image, seed_point, new_val, lo_diff, up_diff, out comp, flags, null);
        }