1. 程式人生 > 其它 >python-ROI與泛洪填充

python-ROI與泛洪填充

技術標籤:pythonopencvpython計算機視覺

python-ROI與泛洪填充

ROI(Region of Interest)

"""
ROI:ROI(Region of Interest):感興趣的區域,通官numpy進行操作,指定區域
      
"""
import cv2
# ROI(Region of Interest):感興趣的區域,通官numpy進行操作,指定區域
img1 = cv2.imread('clock.png',1)
ROIarea =
img1[50:100,100:150] # 感興趣的區域 cv2.imshow('ROIarea',ROIarea) cv2.waitKey(0) cv2.destroyAllWindows()

在這裡插入圖片描述

import cv2
import numpy as np
# 泛洪填充
img1 = cv2.imread('clock.png',1)
img2 = img1.copy()
h,w = img2.shape[:2]
mask = np.zeros([h+2,w+2],np.uint8) # 固定格式
# img2表示圖片,mask表示遮罩,(50,50)表示起始位置,(255,0,0)表示填充顏色,(100,100,100)指的是從圖片當前畫素減去括號裡的值,表示最低範圍
# ,(60,60,50)指的是從圖片當前畫素加上括號裡的值,表示最高範圍,cv2.FLOODFILL_FIXED_RANGE表示填充方法選擇,有兩種:FLOODFILL_FIXED_RANGE改變影象 # FLOODFILL_MASK_ONLY不改變影象,只填充遮罩層本身,忽略新的顏色值引數 cv2.floodFill(img2,mask,(50,50),(255,0,0),(100,100,100),(60,60,50),cv2.FLOODFILL_FIXED_RANGE) cv2.imshow('img2',img2) cv2.waitKey(0) cv2.destroyAllWindows()

在這裡插入圖片描述

import cv2
import
numpy as np # 二級區域填充 img3 = np.zeros([400,400,3],np.unit8) img3[100:300,:,100:300]=255 cv2.imshow('fill_binary',img3) mask = np.ones([402,402,1],np.units) mask[101:301,:,101:301]=0 cv2.floodFill(img3,mask,(200,200),(100,100,100),cv2.FLOODFILL_MASK_ONLY) # FLOODFILL_MASK_ONLY填充 cv2.imshow('fill_binary',img3) cv2.waitKey(0) cv2.destroyAllWindows()