OpenCV 漫水填充演算法的使用及原理

2021-10-05 19:56:12 字數 1465 閱讀 9734

本文架構

漫水填充演算法

漫水填充演算法(floodfill)是在很多圖形繪製軟體中常用的填充演算法。

通常是自動選中與種子畫素相連的區域,利用指定的顏色進行區域的顏色填充。

漫水填充演算法(floodfill)常用於標記或者分離影象的一部分,以便做進一步分析和處理。

windows的畫圖工具中的油漆桶功能和photoshop的魔術棒選擇工具,都是通過漫水填充演算法的改進。

漫水填充演算法的實現原理

從乙個點(初始點)開始,遍歷附近的畫素點,填充成新的顏色,直到封閉區域內所有畫素點被填充成新的顏色為止。

漫水填充的實現有以下方法:

4鄰域畫素填充法

8鄰域畫素填充法

基於掃瞄線的畫素填充方法

漫水填充演算法floodfill函式及其引數介紹

floodfill(image, mask, seedpoint, newval, lodiff=

none

, updiff=

none

, flags=

none

)

漫水填充演算法的使用案例

#encoding=utf8

import cv2 as cv

import numpy as np

deffill_color_demo

(image)

: copyimg = image.copy(

) h, w = image.shape[:2

] mask = np.zeros(

[h+2

, w+2]

,np.uint8)

#mask必須行和列都加2,且必須為uint8單通道陣列

#為什麼要加2可以這麼理解:當從0行0列開始泛洪填充掃瞄時,mask多出來的2可以保證掃瞄的邊界上的畫素都會被處理

opencv漫水填充演算法

使用特定的顏色填充連通區域,通過設定可連通畫素的上下限以及連通方式達到不同的填充效果。int floodfill inputoutputarray image,point seedpoint,scalar newval,rect rect 0,scalar lodiff scalar scalar ...

opencv 漫水填充

一 話說漫水填充 漫水填充是一種用特定的顏色填充連通區域,通過設定可連通畫素的上下限以及連通方式達到不同的填充效果的方法。漫水填充經常用來標記或者是分離影象的一部分,以便對其進行進一步處理貨分析,也可以用來從輸入影象獲取掩碼區域,掩碼會加速處理過程,或者只處理指定的畫素點,操作的結果總是某個連續的區...

Opencv學習 漫水填充演算法

一 漫水填充定義 漫水填充 flood fill 法是用特定的顏色填充聯通區域,通過設定可聯通畫素的上下限以及聯通方式來達到不同的填充效果的方法。主要用來標記和分離影象的一部分以便對其進一步處理和分析。也可以用來從輸入影象獲取掩碼區域,掩碼會加快處理過程,或只處理掩碼指定的畫素點。所謂漫水填充,簡單...