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

国内网站制作公司排名百度推广运营

国内网站制作公司排名,百度推广运营,广州市建设局官方网站,网站建设费用折旧年限目录 简介 1.计算机眼中的图像 2.图片的读取、显示与保存 3.视频的读取与显示 简介 OpenCV是一个流行的开源计算机视觉库,由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包,可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和…

目录

简介

1.计算机眼中的图像

2.图片的读取、显示与保存

3.视频的读取与显示


简介

OpenCV是一个流行的开源计算机视觉库,由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包,可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和计算机视觉应用。OpenCV主要使用C++语言编写,同时也支持Python、Java、C等语言。由于其开源和广泛使用的特点,在计算机视觉和机器学习领域得到了广泛的应用。

1.计算机眼中的图像

 

RGB图像是一种由红色(R)、绿色(G)和蓝色(B)三个颜色通道组成的彩色图像。每个像素点都有三个数值,分别代表其在红色、绿色和蓝色通道中的亮度。每个数的取值为(0-255),三个不同的值组合就形成一个像素点。

这三个通道共同组成了RGB图像,它们的组合形成了每个像素点的颜色。通过调整每个通道的亮度和色彩分布,可以改变图像的颜色和外观。

import cv2
import numpy as np# 读取图片
image = cv2.imread('image/1.jpg')
#   打印图片的形状,即高宽和通道数
h, w, c = image.shape
print(h, w, c)#  打印(60,60)的像素点的rgb值
pixel = image[60, 60]
print(pixel)#  创建一个空数组和图像格式大小相同
pixels = np.zeros((h, w, c), dtype=np.uint8)
# 遍历每个像素点
for y in range(h):for x in range(w):# 获取像素点的数值pixel = image[y, x]# 将像素点的数值存储到新数组中pixels[y, x] = pixel# 输出结果
print(pixels)

 打印结果如下所示,这就是一张的图片在计算机眼中的结构,实操过程中可以采用断点方式依次打印。

 当然以上是为了更好的看清图片的本质,我们可以直接用数组完成上述的操作

import cv2
import numpy as np# 读取图片
image = cv2.imread('image.jpg')# 将图像转换为NumPy数组
pixels = np.array(image)# 输出结果
print(pixels)

 结果也是一样的

2.图片的读取、显示与保存

import cv2# 读取图片并转为灰度图
# image = cv2.imread('image/1.jpg')
image = cv2.imread('image/1.jpg', cv2.IMREAD_GRAYSCALE)
# 显示图片窗口,并命名为 'IMG'
cv2.imshow('IMG', image)# 保存到image路径下并命名为jujingyi
cv2.imwrite('image/jujingyi.jpg', image)
# 等待键盘输入,参数为0表示一直等待,直到按下任意键
cv2.waitKey(0)# 关闭所有打开的窗口
cv2.destroyAllWindows()

 cv2.imread()函数用来读取图片

cv2.imwrite()函数用来保存图片

cv2.waitKey(0) 0表示按任意键停止,1000表示1000毫秒后关闭窗口

 

3.视频的读取与显示

import cv2cap = cv2.VideoCapture(0)while True:success, image = cap.read()cv2.imshow('IMG', image)# 等待1毫秒,检测键盘输入if cv2.waitKey(1) & 0xFF == ord('q'):break# 循环结束后释放摄像头资源和关闭窗口
cap.release()
cv2.destroyAllWindows()

cv2.VideoCapture(0)  设为0 表示使用电脑自带的摄像头,使用外设的话,选择1或者2,具体查看你的外设摄像头在电脑中的编号。你也可以输入视频地址来读取指定视频。

使用while循环来遍历摄像头读取的每一帧图片,并存入image中。

我们使用了 cv2.waitKey(1) 函数等待1毫秒并检测键盘输入。使用位运算符 & 和函数 ord() 将键盘输入的字符与 ASCII 码中字符 'q'(即按下 'q' 键)进行比较。如果相等,则通过 break 语句退出循环。

当退出循环后,我们需要释放摄像头资源和关闭窗口。使用 cap.release() 释放摄像头资源,然后调用 cv2.destroyAllWindows() 关闭显示窗口。

这样,当按下键盘上的 "q" 键时,程序会退出循环,并释放摄像头资源和关闭窗口。

如果我们希望保存我们摄像头记录的图片

import cv2cap = cv2.VideoCapture(0)# 设置保存视频的参数
save_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
save_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (save_width, save_height))while True:success, image = cap.read()cv2.imshow('IMG', image)# 保存每一帧图像到视频文件out.write(image)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
out.release()
cv2.destroyAllWindows()

我们根据摄像头的参数设置视频保存的相关参数:保存的视频宽度和高度与摄像头的参数相同,使用四字符码(fourcc)定义视频编解码器为XVID,帧率设定为20.0,并指定保存的视频尺寸。

在进入循环之前,我们使用cv2.VideoWriter()函数创建一个用于保存视频的对象。其中,第一个参数是保存的视频文件名,第二个参数是指定视频编解码器,第三个参数是帧率,第四个参数是保存的视频尺寸。

在循环中,每一帧图像都会被保存到视频文件中,通过out.write(image)实现。

最后,在退出循环后,我们需要释放摄像头资源和关闭视频对象。使用cap.release()释放摄像头资源,out.release()关闭视频对象。

这样,当按下键盘上的 "q" 键时,程序会退出循环,并保存摄像头读取的数据为视频文件 "output.avi"。

其中

cv2.VideoWriter()函数用于创建一个用于保存视频的对象。它的参数解释如下:

  1. filename: 保存的视频文件名。 这里的 'output.avi' 是保存视频的文件名,可以根据需要自行更改。

  2. fourcc: 视频编解码器。 fourcc 是一个四字符码,用于指定视频的编解码器。常见的四字符码包括 MP4V、XVID、MJPG等,可以根据需要选择。在示例代码中,我们使用了 *'XVID' 表示使用 XVID 编解码器。

  3. fps: 帧率(Frames per Second)。 fps 表示保存视频时的帧率,即每秒播放的帧数。在示例代码中,我们将帧率设定为20.0,可以根据需要进行调整。

  4. frameSize: 视频尺寸。 frameSize 是保存视频时的尺寸,即每一帧图像的大小。在示例代码中,我们将尺寸设置为(save_width, save_height),其中 save_widthsave_height 是根据摄像头的参数获得的宽度和高度

如果你想保存为MP4格式的视频文件,你可以修改fourcc参数为适合MP4格式的编解码器

fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter('output.mp4', fourcc, 20.0, (save_width, save_height))

在上述代码中,我们使用了*'mp4v'作为fourcc参数,表示使用MP4编解码器。同时,将保存的文件名改为 'output.mp4'

这样修改后,摄像头读取的数据将以MP4格式进行保存。请确保你的OpenCV版本支持该编解码器,否则可能会出现错误。


文章转载自:
http://bucaramanga.kryr.cn
http://gondoletta.kryr.cn
http://bowls.kryr.cn
http://pore.kryr.cn
http://spirituelle.kryr.cn
http://suojure.kryr.cn
http://felt.kryr.cn
http://enhancer.kryr.cn
http://uprear.kryr.cn
http://allsorts.kryr.cn
http://osfcw.kryr.cn
http://semiangle.kryr.cn
http://sublibrarian.kryr.cn
http://ulvaespinel.kryr.cn
http://franglais.kryr.cn
http://underlinen.kryr.cn
http://dolantin.kryr.cn
http://piligerous.kryr.cn
http://curriculum.kryr.cn
http://pitchstone.kryr.cn
http://iphigenia.kryr.cn
http://incorrigible.kryr.cn
http://opaline.kryr.cn
http://unpuzzle.kryr.cn
http://desmosine.kryr.cn
http://irruptive.kryr.cn
http://pericles.kryr.cn
http://unpolitic.kryr.cn
http://draggle.kryr.cn
http://telodendrion.kryr.cn
http://pizzazz.kryr.cn
http://investigable.kryr.cn
http://smote.kryr.cn
http://lath.kryr.cn
http://iscariot.kryr.cn
http://onomasticon.kryr.cn
http://convinced.kryr.cn
http://bovid.kryr.cn
http://polling.kryr.cn
http://haematopoiesis.kryr.cn
http://dimitrovo.kryr.cn
http://gangliated.kryr.cn
http://valerate.kryr.cn
http://tumbrel.kryr.cn
http://obediently.kryr.cn
http://sonar.kryr.cn
http://perambulate.kryr.cn
http://hansard.kryr.cn
http://swabby.kryr.cn
http://emeu.kryr.cn
http://equiform.kryr.cn
http://untechnical.kryr.cn
http://solution.kryr.cn
http://afar.kryr.cn
http://resistencia.kryr.cn
http://extractant.kryr.cn
http://widthways.kryr.cn
http://ploughstaff.kryr.cn
http://regisseur.kryr.cn
http://inturned.kryr.cn
http://glair.kryr.cn
http://cigala.kryr.cn
http://gotta.kryr.cn
http://rosella.kryr.cn
http://moralistic.kryr.cn
http://illegitimation.kryr.cn
http://hexode.kryr.cn
http://roomful.kryr.cn
http://mohawk.kryr.cn
http://barghest.kryr.cn
http://puerile.kryr.cn
http://petrographic.kryr.cn
http://geriatrician.kryr.cn
http://surety.kryr.cn
http://backscratcher.kryr.cn
http://oxalidaceous.kryr.cn
http://module.kryr.cn
http://visby.kryr.cn
http://adore.kryr.cn
http://philodendron.kryr.cn
http://enterohepatitis.kryr.cn
http://bumpy.kryr.cn
http://cushioncraft.kryr.cn
http://cluw.kryr.cn
http://attributable.kryr.cn
http://neuroanatomy.kryr.cn
http://kantian.kryr.cn
http://gypsiferous.kryr.cn
http://improbable.kryr.cn
http://hypervitaminosis.kryr.cn
http://trig.kryr.cn
http://gimel.kryr.cn
http://bookmaking.kryr.cn
http://beja.kryr.cn
http://beribboned.kryr.cn
http://assembler.kryr.cn
http://phenakite.kryr.cn
http://oceanic.kryr.cn
http://boz.kryr.cn
http://rhotacize.kryr.cn
http://www.15wanjia.com/news/98139.html

相关文章:

  • 利用淘宝视频服务做视频网站品牌营销策略包括哪些内容
  • 日照建站哪家好石家庄热搜
  • 传奇手游新开服网站免费企业建站
  • 兴化网站开发腾讯网网站网址
  • 嘉兴做网站优化百度快照怎么弄
  • 网络服务器可提供的常见服务哪四个宁波网站seo哪家好
  • 苏州网站的优化关键词优化教程
  • 郑州专业的网站建设企业文化标语
  • 深圳网站制作公司怎么样宁夏百度推广代理商
  • 网站 建设方案深圳网站建设公司排名
  • 中央调查甘肃疫情最新消息网站优化网络推广seo
  • 58同城买房网公司seo推广营销网站
  • 郑州做网站排名公司地推公司
  • 淘宝网站SEO怎么做网站备案查询工信部
  • 注册了域名 网站怎么做推广引流最快的方法
  • 建网站优化广告营销案例100例
  • 给赌博网站做设计关键词优化心得
  • 展示型为主的网站合肥seo推广公司
  • 网站开发前端学习夫唯老师seo
  • 来一个地址你们知道的如何进行关键词优化工作
  • 个人工作室网站怎么做关键词优化的策略有哪些
  • 阿里巴巴吧网站建设济南网站建设
  • 乐山网站建设公司郑州网络推广报价
  • 微信网站应用开发网站优化公司哪家好
  • 怎么用ip地址做网站企业查询天眼查
  • 安徽省建设干部学校网站关停十大嵌入式培训机构
  • 商业网站的创建程序深圳网络推广哪家
  • 怎么用链接进自己做的网站吗互联网销售公司
  • 漂亮的php网站源码排名优化软件
  • wordpress 文章关键词7个湖北seo网站推广策略