python图像处理实战 豆瓣,基于python语言的图像处理
本文主要介绍图像处理Python实用代码、计算机视觉Python实用代码三个板块的分享。使用多种库有一定的参考价值,有需要的朋友可以参考一下。
00-1010序边缘检测将照片变成素描风格判断形状
目录
今天给大家分析一下三个计算机视觉方向的Python实用代码,主要用到的库有:.
Opencv-pythonnumpypillow如果这些模块在您配置的环境中不可用,您可以首先使用pip命令下载并安装它们:
皮皮斯塔洛
前言
边缘检测的基本思想是简化图像信息,用边缘线来表示图像所携带的信息。这一次,我们需要使用Canny边缘检测算子。在Opencv中,我们需要调用cv.canny()方法,代码如下:.
importcv2ascv
importmatplotlib.pyplotasplt
Img=cv.imread(导入图像的路径,0)
边缘=cv。Canny(img,100,200)
plt.subplot(121)
plt.imshow(img,cmap=gray )
..
plt.show()
output:
边缘检测
我们想达到的最终目的是把照片变成素描风格。总的逻辑是我们首先需要把画面变成灰度图像然后反转,反转后再模糊,代码如下:.
importcv2
Img=cv2.imread(导入照片的路径)
# #将照片灰度化
gray_image=cv2.cvtColor(img,cv2。COLOR_BGR2GRAY)
# #反转变灰的照片。
反转_灰度_图像=255-灰度_图像
# #模糊反转的照片。
模糊_反转_灰色_图像=cv2。Gaussian blur(inverted _ gray _ image,(19,19),0)
# #再次反转
反转_模糊_图像=255-模糊_反转_灰色_图像
# # #褪色和混色处理
sketck=cv2.divide(gray_image,inverted _ blurred _ image,scale=256.0)
cv2.imshow(OriginalImage ,img)
cv2.imshow(PencilSketch ,sketck)
cv2.waitKey(0)
output:
将照片变成素描风格
现在我们需要判断图片中人物的轮廓,识别轮廓的算法内置在opencv模块中,代码如下:
importcv2
importnumpyasnp
frommatplotlibimportpyplotasplt
#导入照片
img=cv2.imread(3.png )
#将照片灰度化,当然如果你的照片已经是黑白的,可以跳过这一步。
gray=cv2.cvtColor(img,cv2。COLOR_BGR2GRAY)
# settingthresholdofthegrayimage
_,threshold=cv2.threshold(gray,127,255,cv2。THRESH_BINARY)
#识别轮廓的方法
contours,_=cv2.findContours(
阈值,cv2。RETR树,cv2。CHAIN_APPROX_SIMPLE)
i=0
forcontourincontours:
#cv2.approxPloyDP()函数用于逼近形状
approx=cv2 . approxpolydp(contour,0.01*cv2.arcLength(contour,True),True)
#找到图片的中心点
M=cv2 .力矩(等高线)
ifM[m00]!=0.0:
x=int(M[m10]/M[m00])
y=int(M[m01]/M[m00])
#将轮廓的名称放在每个图形的中心
iflen(近似值)==3:
cv2.putText(img,三角形,(x,y),
cv2。FONT_HERSHEY_SIMPLEX,0.6,(0,0,0),2)
eliflen(近似值)==4:
.
eliflen(近似值)==5:
.
eliflen(近似值)==6:
.
else:
.
#展示最终图形
cv2.imshow(shapes ,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
output:
简单实用吗?
关于分享Python图像处理的三个实用代码的这篇文章到此为止。有关Python图像处理的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。