opencv python:ROI 与 泛洪填充

提取ROI区域,处理然后放回去:

泛洪填充

测试代码:显示一张图像,鼠标点击之后,会从该点开始进行填充,显示填充后的结果图像
注:二值图像的填充需要使用选项:cv2.FLOODFILL_MASK_ONLY

选项说明:

  • cv2.FLOODFILL_FIXED_RANGE:改变图像,泛洪填充
  • cv2.FLOODFILL_MASK_ONLY:不改变图像,只填充遮罩层本身,忽略新的颜色值参数
import cv2
import numpy as np

# 读取一张图片
src = cv2.imread("../images/CrystalLiu2.jpg")
# 命名一个窗口
cv2.namedWindow("input image", cv2.WINDOW_AUTOSIZE)

def fill_color_demo(image, x, y):
    copyImg = image.copy()
    h, w = image.shape[:2]
    mask = np.zeros([h+2, w+2], np.uint8)
    cv2.floodFill(copyImg, mask, (x, y), (0, 255, 255), (100, 100, 100), (50, 50, 50), cv2.FLOODFILL_FIXED_RANGE)
    cv2.imshow("fill", copyImg)
    cv2.setMouseCallback('fill', draw_circle)

def draw_circle(event, x, y, flags, param):
    if event == cv2.EVENT_LBUTTONDOWN:
        fill_color_demo(src, x, y)

# 显示一张图片
cv2.imshow("input image", src)
cv2.setMouseCallback('input image', draw_circle)

# 等待键盘按键
cv2.waitKey(0)
# 销毁所有窗口
cv2.destroyAllWindows()

原文地址:https://www.cnblogs.com/wbyixx/p/12237158.html

时间: 2024-11-29 09:13:50

opencv python:ROI 与 泛洪填充的相关文章

Python+OpenCV图像处理(五)—— ROI与泛洪填充

一.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 代码如下: #进行图片截取.合并.填充 import cv2 as cv src=cv.imread('E:\imageload\lena.jpg') cv.namedWindow('first_image', cv.WINDOW_AUTOSIZE) cv.imshow('first_image', src

OpenCV---ROI(region of interest)和泛洪填充

一:ROI 感兴趣区(Region of Interest,ROIs) 是图像的一部分,它通过在图像上选择或使用诸如设定阈值(thresholding) 或者从其他文件(如矢量> 转换获得等方法生成.感趣区可以是点.线.面不规则的形状,通常用来作为图像分类的样本.掩膜.裁剪区或及其他操作. (一)获取感兴趣区域 src = cv.imread("./1.png") #读取图片 cv.namedWindow("input image",cv.WINDOW_AUT

OpenCV Python教程(1、图像的载入、显示和保存)

本文转载自 OpenCV Python教程(1.图像的载入.显示和保存)     作者 Daetalus 本文是OpenCV  2 Computer Vision Application Programming Cookbook读书笔记的第一篇.在笔记中将以Python语言改写每章的代码. PythonOpenCV的配置这里就不介绍了. 注意,现在OpenCV for Python就是通过NumPy进行绑定的.所以在使用时必须掌握一些NumPy的相关知识! 图像就是一个矩阵,在OpenCV fo

centos6.5下安装OpenCV+Python支持

Python调用opencv的原理是:opencv编译出共享库文件,python把这个共享库文件作为一个模块加载并使用.通俗点就是,编译opencv的时候开启python接口选项,编译好了会产生cv2.so(linux下)或者cv2.pyd(windows下)这个共享库文件,python代码中import这个cv2就可以用了.为了能正确import它,往往需要把cv2.so放在python找包能找到的路径下,或者修改PYTHONPATH环境变量让它包含cv2.so所在路径.此外,python的o

ubuntu14 opencv python 安装

本文记录了Ubuntu 14.04下使用源码手动安装OpenCV 3.0的过程.此外记录了在Python中安装及载入OpenCV的方法. 1.安装OpenCV所需的库(编译器.必须库.可选库) GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) pkg-config Python 2.6 or later and Numpy 1.5 or later wit

.NET + OpenCV & Python + OpenCV 配置

最近需要做一个图像识别的GUI应用,权衡了Opencv+ 1)QT,2)Python GUI,3).NET后选择了.NET... 本文给出C#+Opencv和Python+Opencv的相应参考,节省大家时间. (一)C#.NET + Opencv 1)下载并安装Emgu库(for opencv on .NET env) Download @ http://sourceforge.net/projects/emgucv/ 2)How to use opencv on C#? VS上配置Emgu(

openCV—Python(1)——初始化环境

本系列博客主要參考自--Adrian Rosebrock:<Practical Python and OpenCV: An Introductory,Example Driven Guide toImage Processing and Computer Vision> 一. 分步配置 分别安装下面工具 1.python2.7.x 2.Numpy和Scipy 3.Matplotlib 4.下载OpenCV后解压,提取路径 "\opencv\build\python\2.7"

树莓派 opencv Python 人脸识别

sudo apt-get update sudo apt-get upgrade sudo apt-get install python-opencv sudo apt-get install python-pip sudo apt-get install python-dev sudo pip install picamera 以上是安装环境(目前opencv 只支持python 2.7:更高版本运行会报"No module named 'cv2'" 错误)

轻松使用OpenCV Python控制Webcam,读取Barcode

虽然手机上Barcode应用已经非常流行,但是工作的时候还是用Webcam比较方便.比如需要检测Barcode,我只需要拿Webcam对着电脑屏幕或者纸张扫一下就可以了.今天分享下如何轻松使用OpenCV控制Webcam,以及如何获取一帧图像做Barcode检测. 参考原文:Reading Barcode with Webcam in OpenCV and Python 作者:Xiao Ling 翻译:yushulx 软件安装 Dynamsoft Barcode SDK: http://www.