大家好,今天我来给大家介绍3个干货满满的计算机视觉方向的Python实战项目,主要用到的库有

  • opencv-python

  • numpy

  • pillow

要是大家所配置的环境当中没有这几个模块的话,就需要先用pip命令下载安装。更多技术干货,文末提交交流方式

pip install opencv-python numpy pillow

边缘检测

边缘检测的基本思想就是简化图像信息,使用边缘线代表图像所携带信息,而这次我们要用到的则是Canny边缘检测算子,在Opencv当中需要调用的是cv.canny()方法即可,代码如下

import cv2 as cv
import matplotlib.pyplot as pltimg = cv.imread('导入图像的路径',0)
edges = cv.Canny(img,100,200)
plt.subplot(121)
plt.imshow(img, cmap='gray')
.........
plt.show()

output

将照片变成素描风格

我们最终要实现的目的在于将照片变成素描风格,大致的逻辑在于首先需要将图片变成灰色图像然后反转,在反转之后进行模糊化处理,代码如下

import cv2
img = cv2.imread("导入照片的路径")## 将照片灰度化处理
gray_image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
## 将灰度化的照片反转处理
inverted_gray_image = 255-gray_image
## 将反转的照片模糊化处理
blurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, (19,19),0)
## 再一次的进行反转
inverted_blurred_image = 255-blurred_inverted_gray_image
### 颜色减淡混合处理
sketck = cv2.divide(gray_image, inverted_blurred_image,scale= 256.0)cv2.imshow("Original Image",img)
cv2.imshow("Pencil Sketch", sketck)
cv2.waitKey(0)

output

判断形状

现在我们需要来判断图片当中图形的轮廓,而识别轮廓的算法在opencv模块当中是有内置的,代码如下

import cv2
import numpy as np
from matplotlib import pyplot as plt# 导入照片
img = cv2.imread('3.png')
# 将照片灰度化处理,当然要是您的照片已经是黑白的,就可以跳过这一步
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# setting threshold of the gray image
_, threshold = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)# 识别轮廓的方法
contours, _ = cv2.findContours(threshold, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)i = 0
for contour in contours:# cv2.approxPloyDP() function to approximate the shapeapprox = cv2.approxPolyDP(contour, 0.01 * cv2.arcLength(contour, True), True)# 找到图片的中心点M = cv2.moments(contour)if M['m00'] != 0.0:x = int(M['m10'] / M['m00'])y = int(M['m01'] / M['m00'])# 将轮廓的名字放在各个图形的中央if len(approx) == 3:cv2.putText(img, 'Triangle', (x, y),cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 0), 2)elif len(approx) == 4:.......elif len(approx) == 5:......elif len(approx) == 6:......else:......# 将最后的图形呈现出来
cv2.imshow('shapes', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

output


技术交流

欢迎转载、收藏、有所收获点赞支持一下!

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

值得收藏,分享3个的 Python 实战项目相关推荐

  1. 值得收藏!这 100 个 Python 实战小项目真棒!

    学习 Python 会有这么一个阶段,太简单的程序看不上眼,复杂的开源项目又有点力不从心,这个时候,你就需要接触点简单的 Python 小项目来提升 Python 技能. 最近逛GitHub, 碰巧碰 ...

  2. 分享3个干货满满的Python实战项目,点赞收藏

    今天小编来给大家介绍3个干货满满的计算机视觉方向的Python实战项目,主要用到的库有 opencv-python numpy pillow 要是大家所配置的环境当中没有这几个模块的话,就需要先用pi ...

  3. 干货满满的 Python 实战项目,点赞收藏

    作者 | 俊欣 来源 | 关于数据分析与可视化 今天小编来给大家介绍3个干货满满的计算机视觉方向的Python实战项目,主要用到的库有 opencv-python numpy pillow 要是大家所 ...

  4. python能做什么项目-这十个Python实战项目,让你瞬间读懂Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  5. 100个精选Python实战项目案例,送给缺乏练手经验的你

    随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中.为什么这么多人学 Python ?我要喊出那句话了:"人生苦短,我用 Python!",正是因为语法 ...

  6. 100个精选Python实战项目案例,初学者练手必备

    随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中.为什么这么多人学 Python ?我要喊出那句话了:"人生苦短,我用 Python!",正是因为语法 ...

  7. 有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  8. 整理了70个Python实战项目案例,教程+源码+笔记。从基础到深入

    大家好,我是某某程序员,嘿嘿,很多人照书学完 Python,基础和常用模块使用没太大问题,但不知道下一步该怎么继续学习了.想找工作却没有项目经验-- 网上有些人建议拿实际项目练,但手头没有适合练习的项 ...

  9. 【49个python实战项目列表,得不到就毁掉(附资料) 】

    前言: 不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了49个Python实战项目列表,都有完整且详细的教程,你可以从 ...

  10. python项目归纳总结-这4个Python实战项目,让你瞬间读懂Python!

    原标题:这4个Python实战项目,让你瞬间读懂Python! 来自:https://www.toutiao.com/a6593456515221291528/ Python 是一种极具可读性和通用性 ...

最新文章

  1. 基于ECS部署LAMP环境实验记录
  2. ytu 1057: 输入两个整数,求他们相除的余数(带参的宏 + 模板函数 练习)
  3. RAS RC4 AES 加密 MD5
  4. Enterprise Vault 10.0.4 FOR Exchange2013 部署之二 -安装过程
  5. ES6 WeakSet数据结构 与Set十分相似
  6. 单片机小白学步系列(四) 模拟电路、传统数字电路与单片机
  7. java 什么时候依赖注入_玩框架java依赖注入 – 何时使用单例
  8. 串口光猫应用领域及技术参数详解
  9. 计算机快捷键知识点,电脑常用快捷键基础的知识点(12页)-原创力文档
  10. vue调用手机相机相册_今天才发现,点一下小米手机相册,能将照片一键制作成电影...
  11. 动手学深度学习(PyTorch实现)(九)--VGGNet模型
  12. 【写作技巧】计算机应用技术毕业论文范文
  13. python怎么设置notebook_JupyterNotebook设置Python环境的方法步骤
  14. aut0cad2010卸载工具_解决软件注册表卸载不干净导致的autocad2010无法安装问题。...
  15. 区间对比_预算1015万元区间 国内在售街车综合实力对比
  16. 有一种冲动:世界那么大
  17. 新造车杀入15万,燃油车慌了?
  18. java中dvd管理系统_一个DVD管理系统
  19. route和bridge是什么意思_vue-router中router和route的区别
  20. 疫情下开盘首日千股跌停,百万用户转战MEX

热门文章

  1. linux 锐捷 无法找到网卡信息,linux网卡驱动安装及锐捷使用
  2. 《计算机操作系统(慕课版)》(汤小丹著)课后习题答案
  3. 天正安装autocad启动失败_天正cad启动失败
  4. php怎么转换bt,php格式的文件转成bt种子文件的方法
  5. win7/win10下sublime使用Monaco字体,出现边缘发虚的情况——解决方案
  6. html 360登录自动填写,汇总:如何在360浏览器中删除自动填写的表单?
  7. Android基础入门教程——10.3 AudioManager(音频管理器)
  8. 水晶报表Crystal Reports实例
  9. sap abap开发从入门到精通_ABAP关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
  10. 酷派大观4 8970 刷android 4.4,酷派5890驱动 酷派 8970L(大观4)recovery卡刷通用刷机教程...