当前位置: 首页 > news >正文

wdcp装wordpress502焦作网站seo

wdcp装wordpress502,焦作网站seo,WordPress默认模板做的站,青岛网站制作哪里有前言 一、图像入门 1.1 读取图像cv.imread() 1.2 数组数据转换cv.cvtColor() 1.3数据窗口展示 1.4图像保存 1.5图像的截取 1.6 图像的比例缩放 二、视频入门 参考文献 前言 OpenCV 于 1999 年由 Gary Bradsky 在英特尔创立,第一个版本于 2000 年问世。Vad…

前言

一、图像入门

1.1 读取图像cv.imread()

1.2 数组数据转换cv.cvtColor() 

1.3数据窗口展示

1.4图像保存

1.5图像的截取

 1.6 图像的比例缩放

二、视频入门

参考文献

前言

OpenCV 于 1999 年由 Gary Bradsky 在英特尔创立,第一个版本于 2000 年问世。Vadim Pisarevsky 加入了 Gary Bradsky,负责管理英特尔的俄罗斯软件 OpenCV 团队。2005 年,OpenCV 被用于 Stanley ,这辆车赢得了 2005 年美国穿越沙漠 DARPA 机器人挑战大赛。后来,在 Willow Garage 的支持下,在 Gary Bradsky 和 Vadim Pisarevsky 主导下,OpenCV 项目的开发工作变得活跃起来。OpenCV 现在支持与计算机视觉和机器学习相关的众多算法,并且每天都在拓展中。

OpenCV 支持各种编程语言,如 C++,Python,Java 等,可在不同的平台上使用,包括 Windows,Linux,OS X,Android 和 iOS。基于 CUDA 和 OpenCL 的高速 GPU 操作接口也在积极开发中。OpenCV-Python 是 OpenCV 的 Python API,结合了 OpenCV C++ API 和 Python 语言的最佳特性。

OpenCV-Python 是一个 Python 绑定库,旨在解决计算机视觉问题。

Python 是一种由 Guido van Rossum 开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和代码可读性。它使程序员能够用更少的代码表达思想,而不会降低可读性。

与 C/C++ 这类语言相比,Python 的速度更慢。好在,可以使用 C/C++ 轻松的拓展 Python ,我们可以在 C/C++ 中编写计算密集型代码,并用 Python 来封装。这给我们带来了两个好处:首先,代码像原始的 C/C++ 代码一样快(因为后台实际上就是 C/C++ 代码在工作),其次,在 Python 中编写代码比在 C/C++ 中更容易。OpenCV-Python 就是 OpenCV C++ 的 Python 封装。

OpenCV-Python 使用了 Numpy,这是一个有着 MATLAB 风格语法,高度优化的用于数值计算的库。所有 OpenCV 数组结构都与 Numpy 数组进行转换。这也使得与使用 Numpy 的其他库(如 SciPy 和 Matplotlib)集成更容易。

一、图像入门

        都知道一张图片是由很多个像素点组成,对于计算机而言,最终呈现在用户面前的是由每个像素点的值所决定(0~255),0对应黑色,255对应白色。我们在生活中通常接触的都是彩色图片,由RGB三通道共同构成一张上面的彩色图片,每一个通道对应的像素值反映出其亮度(三个通道可以理解成三个矩阵)。而灰度图像通常只有一个颜色通道来表现。

  • 在这里,你将学习如何读取图像、如何显示图像以及如何将其保存起来
  • 你要学习这些函数:cv.imread()cv.imshow()cv.imwrite()
  • 您还可以选择学习如何使用 Matplotlib 显示图像。

1.1 读取图像cv.imread()

使用 cv.imread() 函数读取一张图像,图片应该在工作目录中,或者应该提供完整的图像路径。

第二个参数是一个 flag,指定了应该读取图像的方式

  • cv.IMREAD_COLOR:加载彩色图像,任何图像的透明度都会被忽略,它是默认标志
  • cv.IMREAD_GRAYSCALE:以灰度模式加载图像
  • cv.IMREAD_UNCHANGED:加载图像,包括 alpha 通道

Note

  • 你可以简单地分别传递整数 1、0 或-1,而不是这三个 flag。

读取图片的代码如下所示:

import numpy as np
import cv2 as cv
# 用灰度模式加载图像
img = cv.imread('images/demo2.png', 0)
cv.imshow('image', img)
cv.waitKey(0)
cv.destroyAllWindows()

 

1.2 数组数据转换cv.cvtColor() 

import numpy as np
import cv2 as cv
# 用灰度模式加载图像
img_BGR = cv.imread('images/demo2.png')
img = cv.cvtColor(img_BGR,cv.COLOR_BGR2GRAY)  #将其转换为灰度的二维数组数据
cv.imshow('image', img)
cv.waitKey(0)
cv.destroyAllWindows()

1.3数据窗口展示

img = cv2.imread("cat.jpg")cv2.imshow("IMage",img)
cv2.waitKey(0)          # 按任意键关闭窗口,cv2.waitKey(1000) 延时一秒关闭窗口
cv2.destroyAllWindows()

1.4图像保存

cv2.imwrite("mycat.jpg",img)

1.5图像的截取

# 其实本质就是对np数组进行操作
img = cv2.imread("cat.jpg")
cv2.imshow("IMage",img[:100,:200])  # 取前100行,前200列的像素作为图像展示

 1.6 图像的比例缩放

img_cat = cv2.imread("cat.jpg")ret = cv2.resize(img_cat,(0,0),fx=3,fy=1) #横向拉长三倍
ret2 = cv2.resize(img_cat,(0,0),fx=3,fy=3) #图片扩大三倍

二、视频入门

  • 学习加载视频、显示视频和保存视频。
  • 学习用相机捕捉并显示。
  • 你要学习这些函数:cv.VideoCapture()cv.VideoWriter()

通常,我们用相机捕捉直播。OpenCV 为此提供了一个非常简单的接口。我们用相机捕捉一个视频(我用的电脑内置摄像头),将它转换成灰度视频并显示。仅仅是一个简单的开始。去获取一个视频,你需要创建一个VideoCapture对象。它的参数可以是设备索引或者一个视频文件名。设备索引仅仅是摄像机编号。通常会连接一台摄像机(as in my case)。所以我只传了 0(或者-1)。你可以通过传 1 来选择第二个摄像机,以此类推。之后,你能逐帧捕获。但是最后,不要忘记释放这个 Capture 对象。

import numpy as np
import cv2 as cv
cap = cv.VideoCapture(0)
while(True):# 一帧一帧捕捉ret, frame = cap.read()# 我们对帧的操作在这里gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)# 显示返回的每帧cv.imshow('frame',gray)if cv.waitKey(1) & 0xFF == ord('q'):break
# 当所有事完成,释放 VideoCapture 对象
cap.release()
cv.destroyAllWindows()

Note

  • 确保 ffmpeg 和 gstreamer 安装合适的版本。有时,使用 Video Capture 是比较头痛的,主要是因为错误的安装 ffmpeg 或 gstreamer。

保存视频

我们捕获视频,逐帧处理然后保存下来。对于图像来说,是非常的简单,就用 cv.imwrite()。这里需要做更多的工作。

这次我们创建一个 VideoWriter 对象。我们应该指定输出文件的名字 (例如:output.avi)。然后我们应该指定 FourCC 码 (下一段有介绍)。然后应该传递每秒帧数和帧大小。最后一个是 isColor flag。如果是 True,编码器期望彩色帧,否则它适用于灰度帧。

FourCC 是用于指定视频解码器的 4 字节代码。这里 fourcc.org 是可用编码的列表。它取决于平台,下面编码就很好。

  • In Fedora: DIVX, XVID, MJPG, X264, WMV1, WMV2. (XVID 是最合适的. MJPG 结果比较大. X264 结果比较小)
  • In Windows: DIVX (还需要测试和添加跟多内容)
  • In OSX: MJPG (.mp4), DIVX (.avi), X264 (.mkv).

对于 MJPG, FourCC 的代码作为 cv.VideoWriter_fourcc(‘M’,’J’,’P’,’G’) 或 cv.VideoWriter_fourcc(*’MJPG’) 传递。

下面的代码从相机捕获,在垂直方向翻转每一帧然后保存它。

import numpy as np
import cv2 as cv
cap = cv.VideoCapture(0)
# 声明编码器和创建 VideoWrite 对象
fourcc = cv.VideoWriter_fourcc(*'XVID')
out = cv.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):ret, frame = cap.read()if ret==True:frame = cv.flip(frame,1)# 写入已经翻转好的帧out.write(frame)cv.imshow('frame',frame)if cv.waitKey(1) & 0xFF == ord('q'):breakelse:break
# 释放已经完成的工作
cap.release()
out.release()
cv.destroyAllWindows()

参考文献

1. 简介 - OpenCV-Python 教程简介 - 《OpenCV 中文文档 4.0.0》 - 书栈网 · BookStack

opencv——基础篇 - 小可爱真是太好了 - 博客园

http://www.rdtb.cn/news/22600.html

相关文章:

  • 手机能访问电脑上自己做的网站吗网络建站优化科技
  • 用c语言可以做网站吗百度小程序seo
  • 哪个网站做图书广告好今天刚刚的最新新闻
  • 网站设计应该怎么做重庆百度总代理
  • 模块化建站工具百度提交网站
  • 内江如何做百度的网站四川企业seo推广
  • 重庆旅游网站建设公司一个新产品怎么推广
  • wordpress博客字体seo深圳网络推广
  • 苏州网站建设2万起百度公司地址在哪里
  • 西宁公司网站建设网站收录工具
  • 七米网站建设手机百度网盘网页版登录入口
  • wordpress 七牛视频播放google seo怎么优化
  • 淘宝做短视频网站好网站设计费用明细
  • 西宁网站策划公司搜索引擎优化案例
  • 自己做家具展示网站国际重大新闻事件10条
  • 做cpa推广用哪种网站好seo关键词排名优化制作
  • 开个跨境电商要多少钱张家界网站seo
  • python做网站教程官方网站百度一下
  • 孝感网站建设公司微信引流用什么软件好用
  • 淘宝客怎么自己做网站及APP免费关键词排名优化
  • 一般做兼职在哪个网站创建自己的网站
  • 武汉做网站训百度收录量
  • 国内国际新闻百度优化是什么
  • 做企业公司网站现在有什么推广平台
  • 灯光设计网站推荐chrome手机安卓版
  • 上海企业网站制作电话广告公司招聘
  • 长春网站建设吉网传媒实力牜活动推广方案
  • 定制型网站建设品牌活动策划
  • 深圳建站服务中心中国十大搜索引擎网站
  • 视频网站建设费用百度宣传做网站多少钱