python机器学习入门之opencv的使用(超详细,必看)

源码及图片请点赞关注收藏后私信博主要 

opencv广泛用于多种于计算机视觉和机器学习相关的算法 其用C++语言编写,主要接口也是C++语言 但也有python等环境的接口 接下来我们着重介绍他的使用。

opencv python是一个用于解决计算机视觉问题的python库  opencv python与numpy兼容 数据都被转换成numpy数据结构

安装可以看我这篇博客opencv的安装与配置

部分方法使用方法如下 1:imshow() 显示图像 2:destroyallwindows用于卸载窗口 3:waitkey等待用户按键 其参数是延迟的时间

1:将图像转换成灰度图输出并保存

代码如下:

import cv2
print(cv2.__version__)
img=cv2.imread(图片路径,0)
cv2.imshow("image",img)
k=cv2.waitKey(0)
if k==27:
    cv2.destroyWindow()
elif k==ord('s'):
    cv2.imwrite('result',img)
    cv2.destroyWindow()

拆分通道并着色

img=cv2.imread(r"图片路径",0)
cv2.imshow('image',img)
k=cv2.waitKey(0)
if k==27:
    cv2.destroyAllWindows()
elif k==ord('s'):
    b,g,r=cv2.split(img)
    zeros=np.zeros(img.shape[:2],dtype="uint8")
    imgr=cv2.merge([zeros,zeros,r])
    imgg=cv2.merge([zeros,g,zeros])
    imgb=cv2.merge([b,zeros,zeros])
    cv2.imwrite('r.png',imgr)
    cv2.imwrite('g.png',imgg)
    cv2.imwrite('b.png',imgb)
    cv2.destroyAllWindows()

捕获摄像头

cap=cv2.VideoCapture(0)
while(True):
    ret,frame=cap.read()
    cv2.imshow(u"Capture",frame)
    key=cv2.waitKey(1)
    if key&0xff==ord('q')or key==27:
        print(frame.shape,ret)
        break
cap.release()
cv2.destroyAllWindows()

3:摄像头范围内的人脸检测

效果如下 可以识别出人脸并用 矩形圈出

代码如下

import cv2
cascpath=r"路径"
faceCascade=cv2.CascadeClassifier(cascpath)
cap=cv2.VideoCapture(0)
while(True):
    ret,img=cap.read()
    faces=faceCascade.detectMultiScale(img,1.2,2,cv2.CASCADE_SCALE_IMAGE,(20,20))
    for(x,y,w,h) in faces:
        img=cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
    cv2.imshow(u"detect",img)
    key=cv2.waitKey(1)
    if key&0xFF==ord('q')or key ==27:
        break
cv2.destroyWindow()
cv2.release()

源码及图片请点赞关注收藏后私信博主要 ​​​​​​​

  • 13
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值