学习视频:python+opencv3.3视频教学 基础入门
其他学习记录:
Python+OpenCV(二)——Numpy模块
Python+OpenCV(三)——色彩空间
Python+OpenCV(四)——像素运算
Python+OpenCV(五)——ROI和泛洪填充
Python+OpenCV(六)——均值/中值/自定义/高斯模糊、高斯噪声处理、高斯双边滤波
Python+OpenCV(七)——直方图及其应用
Python+OpenCV(八)——图像二值化
Python+OpenCV(九)——图像金字塔、图像梯度
Python+OpenCV(十)——Canny边缘提取
Python+OpenCV(十一)——直线检测、圆检测
Python+OpenCV(十二)——轮廓发现
Python+OpenCV(十三)——对象测量
Python+OpenCV(十四)——膨胀与腐蚀
Python+OpenCV(十五)——开闭操作
Python+OpenCV(十六)——顶帽、黑帽
Python+OpenCV(十七)——人脸识别
Python+OpenCV(十八)——数字/字母验证码识别
# 例1:测试OpenCV是否可用
import cv2 as cv # 引入OpenCV模块
src = cv.imread("C:/Users/Administrator/Pictures/PS/11.png") # 读取图像
# 通过GUI创建窗口,窗口大小根据照片大小自动调整
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src) # 显示图像
cv.waitKey(5000) # 等待操作延时,没有该操作,窗口创建后会马上关闭
cv.destroyAllWindows() # 销毁/关闭所有窗口
print("Hello,OpenCV!")
# 例2:调用系统摄像头,读取视频
import cv2 as cv # 引入OpenCV模块
import numpy as np # 引入numpy模块
def video_demo():
capture = cv.VideoCapture(0) # 调用系统摄像头
while True:
ret, frame = capture.read()
frame = cv.flip(frame, 1) # 调整视频的方向
cv.imshow("video", frame) # 显示每一帧
c = cv.waitKey(50)
if c == 27: # 27是ESC键的ASCII值;按两次ESC键关闭摄像头
break
def get_image_info(image):
print(type(image)) # 查看图像类型
print(image.shape) # 查看图像参数(行数,列数,色彩通道数)
print(image.size) # 查看图像像素大小(像素=行数×列数×色彩通道数)
print(image.dtype) # 查看图像数据类型
pixel_data = np.array(image) # 像素数据
print(pixel_data)
print("------ Hello OpenCV ------")
video_demo()
src = cv.imread("C:/Users/Administrator/Pictures/PS/11.png") # 读取图像
# 通过GUI创建窗口,窗口大小根据照片大小自动调整
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src) # 显示图像
get_image_info(src)
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) # 调用灰度函数,使图像变灰
cv.imwrite("C:/Users/Administrator/Pictures/PS/11gray.png", gray) # 保存图像
cv.waitKey(0)
cv.destroyAllWindows() # 销毁/关闭所有窗口