python图像识别的学习

import cv2
import numpy as np
gray=cv2.imread(r"C:\Games\python\PyCharm Community Edition 2021.3.1\daima\open cv\2.jpg",cv2.IMREAD_GRAYSCALE)
'''Canny边缘检测
edges=cv2.Canny(image,threshold1,threshold2)
edges为边界图像
image为原图像
threshold1阈值minVal
threshold2阈值maxVal
maxVal,minVal变小,有更多的细节信息。
edges=cv2.Canny(img,50,1000)
cv2.imshow("a",edges)
cv2.waitKey(0)'''

'''图像金字塔'''
#向下取样
'''st=cv2.pyrDown(src)
dst:向下取样结果
src:原始图像'''

#向上取样
'''dst=cv2.pyrUp(src)'''


'''图像轮廓  边缘检测'''
#边缘查找
'''contours,hierarchy=cv2.findContours(image,mode,method)
contours:轮廓(image图像的轮廓)
hierachy:图像的拓扑信息(轮廓层次)
image:原始图像
mode:轮廓检索模式
cv2.RETR_EXTERNAL:表示只检测外轮廓
cv2.RETR_LIST:检测的轮廓不建立等级关系
cv2.RETR_CCOMP:建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息。
cv2.RETR_TREE:建立一个等级树结构的轮廓
method:轮廓的近似方法
cv2.CHAIN_APPROX_NONE:存储所有的轮廓点,相邻的两个点的像素位置差不超过1
cv2.CHAIN_APPROX_SIMPLE:压缩水平方向,垂直方向,对角线方向的元素。只保留该方向的终点坐标。
cv2.CHAIN_APPROX-TC89-L1:使用teh-Chinl chain近似算法
cv2.CHAIN_APPROX_TC89_KCOS:使用teh-Chinl chain近似算法'''
ret,binary=cv2.threshold(gray,91,255,cv2.THRESH_BINARY)
cv2.imshow("1",binary)
cv2.waitKey(0)
#contours,hierarchy=cv2.findContours(binary,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
#轮廓绘制
'''cv2.drawContours()
r=cv2.drawContours(o,contours,contourldx,color[,thickness])
r:目标图像,直接修改目标的像素点,实现绘制
o:原始图像
contours:需要绘制的边缘数组(由上面函数得到的其中一个参数用于此函数中)
contourldx:需要绘制的边缘索引,如果全部绘制则为-1
color:绘制的颜色,为BGR格式的
Scalarthickness:可选,绘制的密度,即描绘轮廓时所用的画笔粗细(一般我们默认即可)'''
#r=cv2.drawContours(binary,contours,-1,(0,0,255),1)
#cv2.imshow("original",gray)
#cv2.imshow("result",r)
#cv2.waitKey(0)
#cv2.destroyAllWindows()
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值