黑色背景下,描绘照片的轮廓形状并保存

描绘照片的轮廓形状并保存

import cv2
from matplotlib import pyplot as plt
# 1.先找到轮廓
img = cv2.imread('E:\Python-workspace\OpenCV\OpenCV/beyond.png', 0)
_, thresh = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
image, conturs, hierarchy = cv2.findContours(thresh, 3, 2)
cnt = conturs[0]# 2.进行多边形逼近,得到多边形的角点
approx = cv2.approxPolyDP(cnt, 3, True)#True表示该照片的图形为封闭图形# 3.画出多边形
image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR)
cv2.polylines(image, [approx], True, (0, 255, 0), 2)#(0, 255, 0)为绿色,来控制边缘的颜色
plt.imshow(image),plt.show()
cv2.imwrite("E:\Python-workspace\OpenCV\OpenCV/YY.png",image)#保存照片
cv2.destroyAllWindows()#退出
效果如下:

运行前:
在这里插入图片描述
运行中:
在这里插入图片描述
运行后:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java pdf合并_Java 合并、拆分PDF文档

本文将介绍如何在Java程序中合并及拆分PDF文档,合并文档时,包括合并多个不同PDF文档为一个文档,以及合并PDF文档的不同页面为一页;拆分文档是,包括将PDF文档按每一页拆分,以及按指定页数范围来拆分。下面将…

HDU4405 期望

对于期望,首先,对于这个公式中p表示概率,x表示随机变量 展开则为 ex p1*x1p2*x2p3*x3....... 对于本题 假设 ex[ i ]表示当前 i 走到 n 的期望值。所以若 i 处没有飞机,ex[ i ]sigma(1/6*ex[ik])1 其中(k1...6) (1表示…

很全的SQL注入语句

1、返回的是连接的数据库名and db_name()>02、作用是获取连接用户名and user>03、将数据库备份到Web目录下面;backup database 数据库名 to diskc:\inetpub\wwwroot\1.db;--4、显示SQL系统版本and 1(select VERSION) 或and 1convert(int,version)--5、判断xp_cmdshell扩展…

java异常体系_JAVA异常体系结构详解

一、什么是异常异常:程序在运行过程中发生由于硬件设备问题、软件设计错误等导致的程序异常事件。(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象。 ——百度百科二、异常体系Java把异常当作对象来处理&#xf…

对照片质量进行压缩

对照片质量进行压缩 其实无论是jpg还是png都是已经压缩编码化的格式罢了,原图片的大小要远远大于压缩编码后的格式 1,像素:图片放大到一定程度之后的一个个的小方块 2,RGB:每一个像素(小方块)都…

Silverlight访问 Apache服务器(Tomcat,Geronimo)中部署的Webservice

Silverlight 访问 Apache服务器中的Webservice 开发环境 Vs2010 、 Silverlight4 、 Java Jdk1.6 U 21 、 Apache-tomcat-6.0.20 、 Myeclipse8.5 、 Apache-ant-1.8.1 、 Axis2 、 Geronimo-tomcat6-javaee5-2.2. 下载地址: Apache-tomcat : http://apa…

那些帮助你成为优秀前端工程师的讲座——《性能篇》

这篇文章是前端优秀讲座和讨论列表系列连载第七篇,介绍前端性能优化技巧。前端领域发展迅速,只有时刻掌握前端发展趋势和技术动态,学习前沿的开发思想和理念才能让自己跟上时代的步伐,保持自己的技术优势。 您可能感兴趣的相关文章…

mca终端_MCA的完整形式是什么?

mca终端1)MCA:计算机应用硕士 (1) MCA: Master of Computer Application) MCA is an abbreviation of Master of Computer Application. It is a masters degree program for post-graduation in Computer applications. This post-graduate course duration is abo…

查看照片的指定位置的像素点值,并在照片中绘制一条指定像素颜色的线段

查看照片的指定位置的像素点值,并在照片中绘制一条指定像素的线段 import cv2 img cv2.imread(E:\Python-workspace\OpenCV\yanyu/beyond.png,1)#1为彩色图片,0为灰度图片 (b,g,r) img[20,20]#取照片的(20,20)处的像素点,左上角为(0,0)&am…

图像分割-二阶导数零交叉点的含义

已知: 二阶导数在灰度斜坡和灰度台阶过渡处会产生双边缘响应。 二阶导数的符号可以用于确定边缘的过渡是从亮到暗还是暗到亮。 斜坡开始处,二阶导数为负,斜坡结束二阶导数为正,斜坡上,二阶导数为0.(亮到暗…

采购子系统-流程图、表结构、内容简介

设计说明: 流程图: 表结构: -- {*******************************************************} -- { } -- { GSP } -- { …

Anaconda下安装TensorFlow和OpenCV(都是心血呀~)

从国庆放假到现在的6号,我整整搞了将近五天多。安装个TensorFlow和OpenCV不下五次,各种问题各种解决,下载后卸载,卸载后下载,我快吐了啊这个国庆,但是最终还是达到了自己的目标(我太难了&#x…

图像分割-基本边缘检测roberts,prewitt,sobel,canny,laplace

执行边缘检测的三个基本步骤: 1、为降噪对图像进行平滑处理。(导数对噪声具有敏感性。图像的正负分量检测困难) 2、边缘点的检测。(提取边缘点的潜在候选者) 3、边缘定位。(从候选者中选出真是边缘点成员&a…

改变Jupyter的默认项目路径

开始接触Jupyter,看见它默认的工作路径是C盘,很难受想换下工作空间路径 管理员身份打开你的Anaconda Prompt 输入jupyter notebook --generate-config,找到你的配置文件位置 修改一下路径即可 一般情况到这一步就已经修改成功了&#xff…

图像分割-LOG检测器和DOG检测器

边缘检测是以较小的算子为基础的,具有两个建议 1、灰度变化与图像尺寸无关,因此检测要求使用不同尺寸的算子。 2、灰度的突然变化会在一阶导数产生波峰波谷,在二阶导数产生零交叉 大的算子检测模糊边缘,小的算子检测锐度集中的细节…

C++——统计多行单个字符类型个数

键盘输入n个字符,请分别统计大写字母、小写字母、数字、其他字符的个数并输出;还需要输出所有数字字符之和 【输入形式】 第一行为一个整数n(100 > n > 0),接下来n行每行一个字符 【输出形式】 输出第1行为4个整数,分别…

C++——已知a+b、 a+c、b+c、 a+b+c,求a、b、 c

有三个非负整数a、b、 C,现按随机顺序给出它们的两两和以及总和4个整数,即ab、 ac、bc、 abc, 注意,给出的4个数的顺序是随机的,请根据这四个数求出a、b、c是多少? [输入形式] 输入为一-行4个正整数, x1、 x2、x3、 x4 (0≤xi≤10^9) ,表示…

表示和描述-边界追踪

边界追踪目标: 输入:某一区域的点 输出:这一区域的点的坐标序列(顺时针或逆时针) Moore边界追踪法: 两个前提条件: 1、图像为二值化后的图像(目标为1,背景为0&#xff0…

图像分割-边缘连接

三种基本方法: 1:局部处理 2:区域处理 3:使用霍夫变换的全局处理 局部处理 根据预定的规则,将所有相似点连接起来。 用于确定边缘像素相似性的两个主要性质:1、梯度向量的幅度2、梯度向量的角度 由于要…