python-ROI与泛洪填充

本文介绍了如何在Python中使用OpenCV实现ROI(感兴趣区域)操作,包括选取特定区域并显示,以及通过泛洪填充技术扩展区域。涵盖了基本的图像处理概念和实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值