I've detected contours for an image using opencv python,now I should blackout the image outside the contour.Could anyone help me to do this?

解决方案

Given your found contours, use drawContours to create a binary mask, in which your contours are filled. Dependent on how you do that (black image, white contours vs. white image, black contours), you set all pixels in your input image to 0 expect for the masked (or unmasked) ones. See the following code snippet for a visualization:

import cv2

import numpy as np

# Artificial input

input = np.uint8(128 * np.ones((200, 100, 3)))

cv2.rectangle(input, (10, 10), (40, 60), (255, 240, 172), cv2.FILLED)

cv2.circle(input, (70, 100), 20, (172, 172, 255), cv2.FILLED)

# Input to grayscale

gray = cv2.cvtColor(input, cv2.COLOR_RGB2GRAY)

# Simple binary threshold

_, gray = cv2.threshold(gray, 128, 255, cv2.THRESH_BINARY)

# Find contours

cnts, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

# Generate mask

mask = np.ones(gray.shape)

mask = cv2.drawContours(mask, cnts, -1, 0, cv2.FILLED)

# Generate output

output = input.copy()

output[mask.astype(np.bool), :] = 0

cv2.imwrite("images/input.png", input)

cv2.imwrite("images/mask.png", np.uint8(255 * mask))

cv2.imwrite("images/output.png", output)

The artificial input image:

The mask generated during processing:

The final output:

python运行界面黑色,在Python中使用open执行轮廓检测后,如何使图像的背景变黑?...相关推荐

  1. python运行界面黑色_在Python中使用open执行轮廓检测后,如何使图像的背景变黑?...

    I've detected contours for an image using opencv python,now I should blackout the image outside the ...

  2. python运行界面黑色_selenium+python 去除启动的黑色cmd窗口方法

    其实 selenium启动窗口的时候就是 使用了subprocess.Popen 启动的驱动程序的,只要在启动的时候加上启动不显示窗口的参数即可. 下面魔改开始O(∩_∩)O哈哈~ 修改代码 位于D: ...

  3. python前端界面实现交互,python的交互模式是什么

    如何进入python交互界面 Python交互模式有两种:图形化的交互模式或者命令行的交互模式.打开步骤:首先点击开始菜单. 然后在搜索栏中输入Python,即可看到图形化的交互模式(IDLE(Pyt ...

  4. opencv检测图片失焦 python_如何在Python中使用OpenCV执行模糊检测

    如何在Python中使用OpenCV执行模糊检测 目标检测 最后更新 2020-10-12 14:23 阅读 154 最后更新 2020-10-12 14:23 阅读 154 目标检测 ##FlyAI ...

  5. python运行外部程序_在Python中运行外部程序(可执行文件)?

    在Python中运行外部程序(可执行文件)? 我刚刚开始研究Python,我一直在尝试从Python运行外部可执行文件. 我有一个用Fortran编写的程序的可执行文件. 假设可执行文件的名称是flo ...

  6. python运行界面如何缩小_如何使用Python调整图像大小

    作者|Nicholas Ballard 编译|VK 来源|Towards Data Science 可以说,每一个"使用计算机的人"都需要在某个时间点调整图像的大小.MacOS的预 ...

  7. java python 运行 内存_Python C Java中字符串在内存中的存储

    Python 昨天在讲Python的过程中,发现了一个小问题,当时课上没有解决,下面特意查阅资料解决了一下. a = "123" b = "123" print ...

  8. python可视化界面开发实例-python界面编程,python可视化窗口编程

    看了你的问题,几个回答似乎都不完全对.给你补充一下吧. 你的问题与flask基本上没有关系.flask是一个简单的微型编程框架,很优美,也很简单好用.不过它仅仅实现了基于HTTP协议的服务端交互部分. ...

  9. 基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)

    原标题:基于Python语言的自动化测试实战第二章(上) 测试环境搭建 2.1 Windows 下的环境搭建 如果想要学习一门编程语言,对于新手来说只需到其官方网站上去下载最新版本安装即可,但对于想要 ...

最新文章

  1. 一个几何不等式的最佳常数
  2. 计算机电缆外径相差太大,DJYPVP计算机电缆标准外径
  3. 上海电信计划2015年用户带宽提高12.5倍
  4. [云炬创业基础笔记]第十一章创业计划书测试3
  5. ajax 入参为list_ajax传递给后台数组参数方式
  6. 学习笔记(56):Python实战编程-Menu
  7. Java 设计模式之Mediator调节者模式
  8. “好串”求解算法优化原理与Python实现
  9. Python处理Excel文档之openpyxl (三)简单的使用
  10. JS函数表达式的特征和递归
  11. E/MicroMsg.SDK.WXMediaMessage(17582): checkArgs fail, thumbData is invalid
  12. htlm5实习报告_Wa zhu ti网站html5搭建设计毕业论文+html源码+实习报告+答辩问题
  13. 在线头像制作网站FaceYourManga
  14. ubantu18-ROS环境下配置IMU(STIM300),含驱动下载安装与硬件配置。
  15. RQNOJ 341 星门跳跃【解题报告】
  16. nuxt解决首屏加载慢问题_Vue首屏加载慢
  17. 一分钟教会你黑白图片如何上色
  18. 使用@JsonFormat注解 后端往前端页面展示日期为英文问题 (例如:Thu Dec 09 00:00:00 CST 2021)
  19. .then()方法的意思和用法
  20. iOS开发小记:初次接入环信SDK3.0时遇到的问题及解决办法汇总

热门文章

  1. python第七章动手试一试_《Python从入门到实践》第八章动手试一试
  2. 如何限制iframe内网页打开新窗口_网页外链用了 target=quot;_blankquot;,结果悲剧了...
  3. 百科园c语言题库第八章南信大,C语言上机题库百科园第3章!南信大!.doc
  4. c语言建立迷宫坐标,c语言 找到迷宫出口并显示坐标,可以自定义迷宫或者选用已经设计好的迷宫...
  5. python 3.8 新特性_Python 3.8六大新功能
  6. python sorted下标_Python学习教程(Python学习路线):第七天-字符串和常用数据结构
  7. linux ora-39002,impdp ORA-39002,ORA-39166,ORA-39164的问题及解决
  8. WebView起步1
  9. jQuery学习笔记——jQuery基础核心
  10. SSL4MIS:医学图像半监督分割的Baselines