源码及图片请点赞关注收藏后私信博主要
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:摄像头范围内的人脸检测
效果如下 可以识别出人脸并用 矩形圈出
代码如下文章来源:https://www.toymoban.com/news/detail-610962.html
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()
源码及图片请点赞关注收藏后私信博主要 文章来源地址https://www.toymoban.com/news/detail-610962.html
到了这里,关于python机器学习入门之opencv的使用(超详细,必看)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!