首页 > 其他 > 详细

opencv部分基本操作-持续更新

时间:2021-01-31 14:18:31      阅读:31      评论:0      收藏:0      [点我收藏+]

基本读取

读图像

import cv2 as cv
# 读一个图像,返回它的矩阵. img = cv.imread(filename="文件路径")
img = cv.imread(filename="./cat.jpg")
# 显示图像矩阵.cv.imshow(winname="窗口名", mat="图像矩阵")
cv.imshow(winname="test", mat=img)
cv.waitKey(0)

效果

技术分享图片

读视频1,从摄像头获取视频

注:按d键退出

def readvideo():
    # 0代表调用本地摄像头
    capture = cv.VideoCapture(0)
    while True:
        isTrue, frame = capture.read()
        cv.imshow(winname="camera from pc", mat=frame)
        if cv.waitKey(20) & 0xFF==ord(‘d‘):
            break
    capture.release()
    cv.destroyAllWindows()
readvideo()

效果

技术分享图片

读视频2,从本地文件的视频获取

注:按d键退出

def readvideo2():
    # 指定路径即可
    capture = cv.VideoCapture(‘./video.mp4‘)
    while True:
        isTrue, frame = capture.read()
        cv.imshow(winname="video from pc", mat=frame)
        if cv.waitKey(20) & 0xFF==ord(‘d‘):
            break
    capture.release()
    cv.destroyAllWindows()
readvideo2()

效果

技术分享图片

读视频2,从本地文件视频获取。且缩小视频的尺寸

注:这个rescalevideo,适用于图片,视频,摄像头

import cv2 as cv
def rescalevideo(frame, size=0.5):
    width = frame.shape[1] * size
    width = int(width)
    heigh = frame.shape[0] * size
    heigh = int(heigh)
    dimensions = (width, heigh)
    return cv.resize(src=frame, dsize=dimensions,
    interpolation=cv.INTER_AREA
    )
def readvideo2():
    # 指定路径即可
    capture = cv.VideoCapture(‘./video.mp4‘)
    while True:
        isTrue, frame = capture.read()
        newframe = rescalevideo(frame)
        cv.imshow(winname="video from pc", mat=frame)
        cv.imshow(winname="low size video", mat=newframe)
        if cv.waitKey(20) & 0xFF==ord(‘d‘):
            break
    capture.release()
    cv.destroyAllWindows()
readvideo2()

效果

技术分享图片

画线等操作

画一个纯黑的图像

import cv2 as cv
import numpy as np

创建一个黑色的图像

blank = np.zeros(shape=(200, 200), dtype="uint8")
cv.imshow("blank", blank)
cv.waitKey(0)

效果

技术分享图片

在黑色图像上画一个矩形

import cv2 as cv
import numpy as np
# 创建一个黑色的图像
# 这里要增加3,表示rgb三层通道
blank = np.zeros(shape=(200, 200, 3), dtype="uint8")

cv.imshow("blank0", blank)
cv.rectangle(blank, pt1=(0,0),pt2=(100,100), color=(0,255,0), thickness=3)
cv.imshow("blank1", blank)
cv.waitKey(0)

效果

技术分享图片

opencv部分基本操作-持续更新

原文:https://www.cnblogs.com/Coder-Photographer/p/14352377.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!