计算机图像视频处理

article/2025/9/19 12:35:07

计算机图像视频处理

计算机视觉概论

计算机视觉概念

计算机图像处理,也即数字图像处理(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) & 0XFFkey = chr(k)if key == 'q':breakcv.imshow('video', frame)cv.destroyWindow('video')

http://chatgpt.dhexx.cn/article/vpFnjHJS.shtml

相关文章

视频处理

1.视频处理 在视频压缩前后,对视频图像质量增强的操作视频编解码系统输出的图像主观质量不仅与压缩算法的性能有关,还受视频处理的影响压缩之前对视频的处理称作预处理(Pre-processing)压缩之后对视频的处理称作后处理&#xff0…

基于PythonOpenCv的视频图像处理

博主简介 博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的&#xff0c…

openpose如何处理视频

openpose提供了官方的bin文件,可以通过shell直接处理视频, 此外还提供了一系列的demo文件,用于处理图片文件。 那如何修改官方的demo用来处理视频呢? 找了不少别人的教程都是通过 cv2.dnn.readNetFromCaffe(protoFile, weight…

使用python的视频处理

本文探讨的是使用python对视频进行如下操作: 将待处理的视频分割成帧对每一帧进行处理对处理后的帧合并得到最终的视频 为了方便接下去的实验过程,读者必须具备如下的工具: 1、依赖包python-opencv 2、借助工具ffmpeg import cv2 import …

VideoProc v4.4 多功能视频处理工具

前言 VideoProc是WinX/MacX HD Video Converter Deluxe的进阶版本,在功能上更上一层。VideoProc全方位整合了影片转档、影片压缩、(YouTube)影片下载、影片剪辑的功能,使你在Windows上管理不同的多轨道、SD、HD、4K影片的绝佳方案…

视频分类Video-Swin-Transformer

视频分类Video-Swin-Transformer 视频分类Video-Swin-Transformer 视频分类Video-Swin-Transformer前言一、Video-Swin-Transformer二、环境安装三、数据预测四、对源码进行更改五、总结六、参考资料 前言 提示:这里可以添加本文要记录的大概内容: 星光…

Python - MoviePy 处理音视频

文章目录 一、关于 MoviePy相关教程安装工作原理 二、音频获取音频信息切割拼接音频叠加音频循环播放格式转换视频提取音频 三、视频获取视频信息预览视频视频/Gif 提取图片图片生成视频 / gif图片 音乐合成视频视频提取 gif视频添加文字视频拼接 concatenate_videoclips堆叠 …

音视频处理

问题背景:h265格式的视频转码之后ios存在兼容问题 原转码命令: /usr/local/bin/ffmpeg -y -i /data/tmp/1672385812000-tks3wa.mp4 -vf scale720:1281 -r 30 /data/tmp/1672385812000-tks3wa_720.mp4 -hide_banner解决办法: // 原视频格式为…

tune a video:one-shot tuning of image diffusion models for text-to-video generation

【Diffusion Models】新加坡国立大学、腾讯强强联手Tune-A-Video:One-Shot微调图像扩散模型用于文本到图像的生成!_哔哩哔哩_bilibili【Diffusion Models】新加坡国立大学、腾讯强强联手Tune-A-Video:One-Shot微调图像扩散模型用于文本到图像…

视频 处理

案例 Fu Xianjun. All Rights Reserved. 一.视频信号 视频信号(以下称为视频)是非常重要的视频信息来源,它是信息处理过程中经常要处理的一类信号。实际上,视频是由一系列图像构成的。这一系列图像被称为帧,帧是以固定…

用Python剪辑视频?太简单了

人生苦短,快学Python! 最近我在网上下载一个视频,结果下载到本地是近百个视频片段,为了方便观看只能将这些片段合并为一个视频整体。 不过我并没有搜到能够处理类似情况的小工具,只是发现剪映等软件可以实现视频合并功…

图片与视频的处理

1.首先需要在mac上安装ffmpeg(参考社区的安装教程) 需要先安装drew 然后再安装ffmpeg 2.使用dlib工具进行人脸识别,获取特征点,并输出人脸坐标 import cv2 import dlib import numpy as np import matplotlib.pyplot as pltpat…

基本全局阈值处理

基本全局阈值处理 1、全局阈值处理 (1)计算步骤 通常,在图像处理中首选的方法是使用一种能基于图像数据自动地选择阈值的算法,为了自动选阈值,下列迭代过程采用的就是这样的方法: (1) 针对全局阈值选择初…

基本的全局阈值处理Otsu方法进行最佳全局阈值处理

前言 图像阈值处理在图像分割中处于核心地位!本节将重点介绍一些常见的阈值处理方法。 一、基本的全局阈值处理 选取阈值往往是通过直方图来选择的,一方面我们可以人为的设置一个阈值进行一次二值化处理达到全局阈值处理的目的,但这样的阈值…

阈值调整

1.不平衡分类问题的阈值调整 如上图所示,正负例样本不平衡,负样本多,分类器就会更容易把图片分成负样本,因此要设置阈值, 如何选择阈值: 1.ROC曲线上的最优阈值 2.PR曲线上的最优阈值

神经网络阈值是什么意思,神经网络阈值如何确定

BP神经网络中初始权值和阈值的设定 1、首先需要了解BP神经网络是一种多层前馈网络。2、以看一下在matlab中BP神经网络的训练函数,有梯度下降法traingd,弹性梯度下降法trainrp,自适应lr梯度下降法traingda等。 3、在matlab中命令行窗口中定义输入P&…

图像的阈值处理

一般情况下,一张图片分为前景和背景,我们感兴趣的一般的是前景部分,所以我们一般使用阈值将前景和背景分割开来,使我们感兴趣的图像的像素值为1,不感兴趣的我0,有时一张图我们会有几个不同的感兴趣区域&…

神经网络阈值是什么意思,神经网络的权值和阈值

神经网络权值怎么确定? 神经网络的权值是通过对网络的训练得到的。如果使用MATLAB的话不要自己设定,newff之后会自动赋值。也可以手动:{};{}。一般来说输入归一化,那么w和b取0-1的随机数就行。 神经网络的权值确定的目的是为了让…

opencv c++ 二值图像、阈值计算方法、全局阈值、自适应阈值

1、图像定义: 彩色图像 :三通道,像素值一般为0~255; 灰度图像:单通道,像素值一般为0~255; 二值图像:单通道,像素值一般为0(黑色)、255&#xff08…

图像分割 - 阈值处理 - 全局阈值处理

目录 1. 介绍 2. 代码实现 3. 代码讲解 1. 介绍 当目标和背景像素的灰度分布非常不同的时候,可以对整个图像使用全局阈值 在大多数的应用中,图像之间通常存在足够的变化,全局阈值是一种合适的办法。所以,需要一种对图像做阈值…