全国服务热线:400-6263-721

位置:南昌达内IT教育培训学校 > 学校动态 > Python实战项目分享

Python实战项目分享

来源:南昌达内IT教育培训学校时间:2023/6/1 14:48:03

       今天给大家介绍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 plt img=cv.imread('导入图像的路径',0)edges=cv.Canny(img,100,200)plt.subplot(121)plt.imshow(img,cmap='gray').........plt.show()
  output
  将照片变成素描风格
  我们zui终要实现的目的在于将照片变成素描风格,大致的逻辑在于首先需要将图片变成灰色图像然后反转,在反转之后进行模糊化处理,代码如下
  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 shape approx=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:......#将zui后的图形呈现出来cv2.imshow('shapes',img)cv2.waitKey(0)cv2.destroyAllWindows()
  output
领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1810/news/628038/违者必究! 以上就是南昌达内IT教育培训学校 小编为您整理 Python实战项目分享的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721