【OpenCV人脸检测】1. OpenCV 图片操作

OpenCV是一个开源的跨平台计算机视觉库。
跨平台是指,它可以运行在Linux、Windows、Android和Mac OS等操作系统上。
OpenCV提供了多种语言的编程接口,例如C、C++、Python。
它实现了图像处理和计算机视觉方面的很多通用算法,具有轻量高效的特点。

【 1. 图片采集 】

原始的图片多数采用各种摄像头采集,再整理为图片数据集。
如果使用OpenCV采集,可以通过cv2.VideoCapture()获取摄像头并捕捉画面中的图片

  • 获取摄像头并捕捉画面中的图片函数:
cv2.VideoCapture(摄像头来源,cv2.CAP_DSHOW)

其中,传入的参数,指定0时为默认计算机默认摄像头,指定1可以更换来源。

  • 获取捕获图像函数:
cap.read()

cap.read()返回一个布尔值(True/False)和一帧图像。

  • 释放捕获对象函数:
cap.release()
  • 范例:
import cv2  # 引入OpenCV库
cap = cv2.VideoCapture(0,cv2.CAP_DSHOW) # 调用摄像头进行拍照
ret, img = cap.read() # 获取一帧图片,如果捕获成功,代码中ret值为真,img为捕获的图像。
cap.release() # 释放捕获对象

【 2. 图片读取 】

通常我们使用采集完成的图片。在OpenCV中,使用cv2.imread()从文件中加载一张图片。

  • 函数:
cv2.imread(图片路径, 标记)

第一个参数为图片路径,图片应该在当前的工作路径,或在指定的绝对路径下。
第二个参数指定图片被读取的方式:
cv2.IMREAD_COLOR : 读入彩色图像,默认模式;
cv2.IMREAD_GRAYSCALE : 以灰度模式读入图像;
cv2.IMREAD_UNCHANGED : 加载图像包含alpha通道。
也可以,使用数字简约表示以上三种标记,分别为 1, 0或-1。

  • 范例:
import cv2
image_path = "mypicture.jpg" # 加载一张位于当前目录下的`mypicture.jpg`的图片
img = cv2.imread(image_path,0) # 以灰度模式读取图片

【 3. 图片展示 】

读取图片之后,可以将图片展示到窗口。

  • 函数:
imshow(窗口名称, 图片对象)

第一个参数传入窗口的名字;
第二个参数传入需要展示的图片对象。

  • 范例:
import cv2

image_path = "mypicture.jpg" # 读取图片
img = cv2.imread(image_path,1)

cv2.imshow('cute boy',img) # 窗口展示图片

cv2.waitKey(0)  # 等待用户关闭图片窗口

cv2.destroyAllWindows() # 销毁创建的所有窗口

【 4. 图片保存 】

在完成图像的一系列操作之后,可以将图片保存到本地。

  • 函数:
cv2.imwrite(图片路径, 图片对象)

第一个参数为图片路径,图片应该在当前的工作路径,或在指定的绝对路径下;
第二个参数为将要保存的图片对象。

  • 范例:
import cv2

image_path = "mypicture.jpg"  # 读取图片
img = cv2.imread(image_path,1)

cv2.imwrite('anotherpicture.png',img)# 保存图片为girl-copy.png

【 5. 功能展示 】

  • 展示摄像头前的一帧照片
import cv2  # 引入OpenCV库

cap = cv2.VideoCapture(0,cv2.CAP_DSHOW) # 调用摄像头进行拍照
ret, img = cap.read() # 获取一帧图片,如果捕获成功,代码中ret值为真,img为捕获的图像。
cap.release() # 释放捕获对象

cv2.imshow('cute girl',img) # 窗口展示图片

cv2.waitKey(0)  # 等待用户关闭图片窗口
cv2.destroyAllWindows() # 销毁创建的所有窗口
  • 展示文件中某图片
import cv2

image_path = "mypicture.jpg" # 读取图片
img = cv2.imread(image_path,1) (彩色模式)
#img = cv2.imread(image_path,0) (灰色模式)

cv2.imshow('cute boy',img) # 窗口展示图片

cv2.waitKey(0)  # 等待用户关闭图片窗口
cv2.destroyAllWindows() # 销毁创建的所有窗口

彩色:在这里插入图片描述
灰色:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MR_Promethus

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

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

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

打赏作者

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

抵扣说明:

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

余额充值