计算机图像视频处理

2023-11-19

计算机图像视频处理

计算机视觉概论

计算机视觉概念

计算机图像处理,也即数字图像处理(Digital Image Processing), 是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理方法和技术。

计算机视觉(Computer Vision)简称CV,是一门用计算机模拟生物视觉的学科,更具体地将,就是让计算机代替人眼实现对目标的识别、分类、跟踪及场景理解。CV是人工智能(AI)领域的重要分支,也是一门具有很强综合性的学科,涉及计算机科学与工程、信号处理、光学、应用数学、统计学、神经生理学和认知科学等学科。

数字图像定义

一幅图像可以定义为一个二维函数f(x,y),其中x,y是空间平面坐标,而在任何一对x,y空间坐标处的幅值称为该点处的强度或灰度。当x,y和灰度值是有限的离散数值时,则称该图像为数字图像(Digital Image)

图片时通过像素拼接而成的,我们常说的分辨率就是图像像素的数量,比如分辨率为1024*720的一张图片就是在长度上的像素点为1024个,高度720个。每个像素点在计算机中存储的信息时它的RGB(红、绿、蓝,组成图像的三原色,范围是0~225)数值,将这些RGB以矩阵数据的方式存储在硬盘中。灰度图像只有1个通道,读取矩阵的shape为[x,y],坐标[x,y]就是图像中x行y列位置的像素值。RGB图像有3个通道,读取矩阵的shape为[x,y,3]。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fM5DFAfd-1653706083541)(4a92b71618104b04a31cb25486c8dd6b.jpg)]

计算机视觉发展历程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDgjfNUb-1653706083543)(9933e3ff471548a292a7f8972b6663ce.jpg)]

计算机视觉应用现状

OpenCV

OpenCV简介

OpenCV —— 开源计算机视觉库(Open Source Computer Vision Library)

➢ OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以在Windows, Linux,

mac OSX系统上面运行,实现了图像处理和计算机视觉方面的很多通用算法。

➢ OpenCV用C/+/+语言编写,它轻量级而且高效——由一系列 C 函数和C/+/+类构成,同时提供了Ruby、MATLAB、Python等语言的接口。

➢ 如今,来自世界各地包括intel、微软,IBM,索尼、西门子、google、斯坦福、MIT、剑桥等的各大公司、科研机构的研究人员共同维护支持着OpenCV的开源库开发。

OpenCV发展历程

1999年Intel公司为了增强CPU集群性能,启动了很多研究项目,其中就包括OpenCV。OpenCV

最初的核心代码和算法规范是Intel实验室团队完成的,这就是 OpenCV 的缘起。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjBbAmlE-1653706083544)(4a32524b12e646458e169da76d56ce43.jpg)]

图像、视频基本操作

图像去噪

图像去噪是指减少数字图像中噪声的过程。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EHrsan5P-1653706083545)(3d1eeca67c7940cb82a1ac760211fbf5.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mwaOwcn5-1653706083546)(b2faa11c088e4f1c8e3e0bb6d29b464a.jpg)]

图像增强

有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9n6EzJgd-1653706083547)(d7ad6ec0cd254042b02201692481ffae.jpg)]

图像修复

图像修补技术,即去除照片中的小噪声或者划痕,这种技术的思想就是使用坏点周围的像素点取代坏点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n8d19tFP-1653706083548)(4261f95b52b140b389e1ab970cca2011.jpg)]

图像分割

现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。

从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDX3PVQo-1653706083549)(7eeb2c81e4c945e7b8d00ffcc1ea3664.jpg)]

图像颜色通道分离(RGB分离)

RGB三个颜色通道的分量进行分别显示和调整,可以更好的观察一些图像材料的特征,进行图像处理。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nc9ZL4aJ-1653706083550)(2737fc24236547e78eba04ad4deb6dbf.jpg)]

图像二值化

图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TorqSS3Z-1653706083550)(5ea3c17be02b49a9b923e20b299e29dd.jpg)]

滤波

图像滤波是信号处理里的一个概念,图像本身可以看成一个二维信号,其中像素点灰度值的高低代表信号强弱。图像灰度值变化剧烈的点是高频信号,图像中平坦的,灰度值变化不大的点就是低频信号。根据图像的高频与低频的特征,我们可以设计相应的高通、低通滤波器,高通滤波器可以检测图像中尖锐、变化明显的地方(提取边缘);低通滤波器可以让图像变得光滑,滤除图像中的噪声(平滑图像)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbpHrrFa-1653706083551)(66e090e8842f4aa19da10bebd70811d4.jpg)]

图像特征提取

图像特征包括颜色特征、纹理特征、形状特征和空间关系特征。即是一副图像能表现其独特性或易于识别性的区域。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1b1cLDPV-1653706083553)(dc81a37be1a54a59ab2d44e7158473d6.jpg)]

特征匹配

特征匹配的方法是先找出特征显著的特征点(Feature Detect),然后再分别描述两幅图像的特征点(Feature Descriptor),形成特征描述符,最后比较两个特征描述符的的相似程度来判断是否为同一个图像(Feature Match)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b7eWyp6W-1653706083556)(cfc2b8d267584572b11d0291a308e8c3.jpg)]

视频处理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yAiPda56-1653706083557)(3afafd0c497045a284c8c50ad52c8f66.jpg)]

图像读取与显示

  • OpenCV读取图片
    • imread():图像读入函数
    • 函数原型:
      • imread(filename, [flags])
      • filename:图片的路径
      • flags:所读取图片的颜色类型
        • cv.IMREAD_COLOR读入彩色图像,图像的透明度会被忽略,是默认参数;
        • cv.IMREAD_GRAYSCALE读入灰度图;cv.IMREAD_UNCHANGED读入一幅图像并且包括图像的alpha通道。
    • imshow():显示图片函数

图片存储

  • 存储图片,将图片另存为文件
    • imwrite():输出图像到文件
    • 函数原型
      • imwrite(filename,img[,params])
      • filename:输出后的文件名
        • img:要保存的图片
          • 保存的图片格式由文件名决定,示例如下:
          • cv2.imwrite(“test.png”,img) # 保存图片img为png格式
          • cv2.imwrite(“test.jpg”,img) # 保存图片img为jpg格式

视频读取

实时捕获摄像头视频

  • 有时我们会使用本地摄像头或本地视频的实时图像来进行处理,OpenCV为这种应用提供了非常简单的接口。
  • VideoCapture():捕获摄像头的句柄。使用句柄成员函数read()读取摄像头帧。
    import cv2 as cv
    #参数0表示捕获系统默认摄像头
    cap = cv.VideoCapture(0)
    #只要摄像头打开就一直接收帧画面
    while cap.isOpened():
    status, frame = cap.read()
    #判断是否捕获到摄像头下一帧画面
    if status:
    #按键检查
    k = cv.waitKey(25) & 0XFF
    key = chr(k)
    if key == 'q':
    break
    cv.imshow('video', frame)
    cv.destroyWindow('video')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机图像视频处理 的相关文章

随机推荐

  • 借力亚马逊云科技实现 Apache APISIX 的生态探索与产品成长

    关于 Apache APISIX Apache APISIX 于 2019 年被两位创始人捐赠给 Apache 软件基金会孵化器 并于第二年7月从孵化器毕业 成为 Apache 顶级项目 APISIX 作为开源 API 网关 一直以活跃和快
  • osgFBO(十二)深度纹理与颜色纹理混合

    前面涉及到了深度纹理和颜色纹理 由于qedl中 也要两者混合 所以 要考虑到两者混合 这里只是简单将其相加 一 设置纹理 采样颜色纹理 osg ref ptrosg Texture2D texColor createFloatRectang
  • SQLServer用SQL语句给字段设置约束

    第二次写博客 比第一次写起来顺手些了 文章目录 SQL server数据库的基础学习2 一 用SQL语句给字段设置约束 设置check约束 设置default约束 设置unique约束 SQL server数据库的基础学习2 一 用SQL语
  • BURP安装Turbo Intruder插件报错问题

    项目场景 看别人文章时 发现一款神仙插件Turbo Intruder 准备安装下来 先是在BURP商店安装 发现不能用 使用时报错 然后去github把源码下载下来安装 问题描述 安装后 准备使用它自带的脚本跑一下 发现报错 查看日志发现是
  • kubernetes报错Error from server (AlreadyExists): error when creating "kubernetes-dashboard.yaml": serv

    在执行 kubectl apply f kubernetes dashboard yaml 报错 Error from server AlreadyExists error when creating kubernetes dashboar
  • SonarQube集成golang检测(10)

    sonar集成golang的检测工具 sonar中的插件SonarGo自带一些检测规则 但sonar想要集成golang的覆盖率 单元测试报告 和更多的代码规则 需要集成其他golang的检测工具 单元测试 通过golang的单元测试工具g
  • mysql8.0以上初始化以及忘记密码的方法

    Mysql8 0以上忘记初始密码时重置的方法 摘要 第一步 关闭Mysql服务 第二步 跳过Mysql密码验证 第三步 无密码方式进入Mysql 第四步 将登陆密码设置为空 第五步 更改自己的登陆密码 最后一步 验证密码是否修改成功 摘要
  • 网络收集的逻辑思维题

    一个有意思的逻辑训练题目 题目如下 有两个大于1小于100的自然数x y 老师告诉小明两个数的和 告诉小强两个数的积 已知小明和小强足够聪明 下面是两个人的对话 小强 我不知道这两个数是多少 lt 沉默中 gt 小明 我知道你不知道 我不知
  • 设计模式--组合模式

    组合模式 又叫部分整体模式 属于结构型模式 基本原理 以树形的结构将相似的对象组合起来 主要流程 1 创建对象 2 在对象中设置用来存放下一级相似对象的数据结构 3 在对象中设置增删改查等功能 注意 这种模式和数据结构中的树形结构相似 in
  • Spring-OSGI 1.0 M3 中文手册(Spring Dynamic Modules Reference Guide for OSGi(tm) Service Platforms)

    Spring OSGI 1 0 M3 中文手册 Spring Dynamic Modules Reference Guide for OSGi tm Service Platforms Spring Dynamic Modules Refe
  • scrapy-单线程爬取并存入mwsql

    scrapy基本结构 爬取流程 定义随机请求头 抓取异步网页请参考 scrapy框架 基础结构加爬取异步加载数据的网址项目完整实例 items py class BooksItem scrapy Item define the fields
  • 任务五:使用LightGBM对数据进行分类并评估

    1 对前几部得到的特征进行分类 主要用到sklearn中的LightGBM进行评估 并用网格搜索进行参数调优 2 Lightgbm是2017年在当时的NeurIPS 当时为NIPS 上发表的论文 文中主要是相比于XGBoost LightG
  • 前端面试的话术集锦第 18 篇博文——高频考点(HTTP协议 & TLS协议)

    这是记录前端面试的话术集锦第十八篇博文 高频考点 HTTP协议 TLS协议 我会不断更新该博文 1 HTTP 请求中的内容 HTTP请求由三部分构成 分别为 请求行 首部 实体 请求行大概长这样GET images logo gif HTT
  • 基于QT学习,小部件自适应QMainWindow窗口的大小

    基于QT学习 小部件自适应QMainWindow窗口的大小 使用QT Creator创建桌面QT应用 QT5 网上找了许多资源发现都不是自己想要的效果 本文的方法是使用纯代码写的 未使用mainwindow ui画的 第一次写博客 直接贴代
  • 文心一言与GPT-4比对测试!

    Waitlist了三个星期 今天下午终于拿到了百度文心一言的体验资格 于是立刻展开测试 根据文心一言网页端信息显示 目前最新发版是4月1号的版本 版本号是v1 0 3 应该是从上个月16号发布会以后又做了两版迭代 根据文心一言自己的回答 可
  • OkHttp工具类在微服高并发场景中问题实践总结

    OkHttp工具类在微服高并发场景中问题实践总结 问题场景 我的应用是一个中间业务应用XXApp 一个交易请求进来需要依赖下游应用 采用http协议通讯方式 需要调用3 4次下游请求 老XXApp在生产上有大量Close wait问题 可以
  • 怎么用python画sin函数图像_如何使用python的matplotlib模块画正弦函数图像

    python是一个很有趣的语言 可以在命令行窗口运行 python中有很多功能强大的模块 这篇经验告诉你 如何利用python的matplotlib模块 绘制正弦函数y sin x 的图像 工具 原料 windows系统电脑一台 pytho
  • Android 实战项目分享(一)用Android Studio绘制贝塞尔曲线的艺术之旅

    一 项目概述 欢迎来到创意之源 我们精心打造的绘图应用程序将带你进入一个充满艺术和技术的奇妙世界 通过使用Android Studio 我们实现了绘制贝塞尔曲线的功能 让你能够轻松创作出令人惊叹的艺术作品 不论你是热爱绘画的大学生还是渴望学
  • SyntaxError: can't assign to operator

    变量名不能有
  • 计算机图像视频处理

    计算机图像视频处理 计算机视觉概论 计算机视觉概念 计算机图像处理 也即数字图像处理 Digital Image Processing 是指将图像信号转换成数字信号并利用计算机对其进行处理的过程 是通过计算机对图像进行去除噪声 增强 复原