【FPGA图像处理实战】- 图像基础知识

news2025/1/22 18:47:08

视频图像处理是FPGA主要应用方向之一,很多FPGA从事或准备进入这一领域,我们现在开始发布新的FPGA实战专栏——FPGA图像处理。

FPGA处理视频图像处理的主要优势是流水线和并行处理运算,特别是现在视频分辨率越来越大,从720p到1080p,再到4k,还有更大的8k,数据量越来越大,FPGA非常适合这样的实时性要求非常高的领域。

通过这篇文章,大家可以解决一下几个问题:

1、图像是什么?如何理解?

2、图像有哪些重要参数或特性?

3、图像处理有哪些常见内容。

一、专栏​介绍

本专栏将全方位介绍“FPGA图像处理实战”,图像处理相关的各种算法,包括图像二值化、图像缩放、图像腐蚀、图像膨胀、图像识别等等,提供完整的设计理论分析参考和可以应用到实际项目的代码工程。

这里给提供一个思维导图给大家参考下:

FPGA图像处理是FPGA学习入门非常好的一个方向,可以没有FPGA开发板,只需要仿真​即可学习;当然,如果能够上板调试,就更好,更接近实战项目。

二、图像处理基础知识

1、图像是什么?

一个图像可以看成一个二维矩阵,如果进一步考虑图像的色彩,可以看作一个三维矩阵——多个维度用来储存色彩信息。

这个三维矩阵通常是用三原色(红、绿、蓝)来表示,一般简写为(R,G,B),也就是每个原色对应一个不同的平面,如下图所示。

图像的每一个点称为像素,每一个像素的色彩可以用三原色RGB的强度值来表示,如果每一个像素的数据位宽为8bit,则三原色每一个维度的取值范围为0~255,例如(R,G,B)=(255,0,0)来表示红色。

2、图像颜色平面

将一个图像按照三原色分成不同的平面,如下图所示,第一张图是原图,其它的图像依次是红色、绿色、蓝色三个平面。

颜色强度高的地方显示为亮色,强度低为暗色。

从图中可以看到红色平面图片最亮,红色对图片强度影响更多。

图像的颜色信息,需要占用一定数据存储空间,称为颜色深度。如果每一个颜色平面用8bit表示(颜色位深),那图像总平面的颜色深度为8*3=24 bit,也就是总共有2^24种不同颜色。如果颜色位深用10bit表示,则有2^30种不同颜色。

3、分辨率

图像分辨率,也就是一个平面内像素的数量。通常表示成宽*高,例如下面这张4x4的图片。

图像还有一个属性是宽高比,用于描述图像或像素的宽度和高度之间的比例关系。

当人们说这个电影或照片是 16:9 时,通常是指显示宽高比(DAR),然而我们也可以有不同形状的单个像素,我们称为像素宽高比(PAR)。

例如​虽然 DVD 的实际分辨率(DAR)是 704x480,但它依然保持 4:3 的宽高比,因为它有一个 10:11(704x10/480x11)的 PAR。

4、颜色空间

(1)RGB 颜色空间

RGB颜色空间由三个分量组成:红色(R)、绿色(G)和蓝色(B)。

在 RGB 颜色空间中,每个颜色分量取值范围为 0-255,三个分量组合起来可以表示多种颜色。

RGB 颜色空间适用于计算机图形学和显示器系统。

(2)HSV 颜色空间

这是一种基于感知的颜色模型。它由三个分量组成:色相(H)、饱和度(S)和明度(V)。

HSV 颜色空间中的色相表示颜色的种类,饱和度表示颜色的纯度,明度表示颜色的明暗程度。

HSV 颜色空间适用于图像处理和计算机视觉任务,因为它能够较好地表示人眼对颜色的感知。

(3)CMYK 颜色空间

由四个分量组成:青(C)、品红(M)、黄(Y)和黑(K)。

CMYK 颜色空间中的每个分量表示一种颜色,它们相互叠加生成其他颜色。

CMYK 颜色空间适用于彩色印刷。

(4)YUV/YCbCr颜色空间

YUV和YCbCr颜色空间主要用于视频系统和图像处理领域。

它们是由RGB颜色空间转换而来的,分别包含三个分量:亮度(Y)、色差(U)和色度(V)。

YUV/YCbCr颜色空间适用于彩色视频处理,如颜色调整、滤波和压缩等。

5、亮度、色调、饱和度、对比度

(1)亮度(brightness)

亮度是指颜色的明暗程度,它描述了光源照亮物体的程度。

亮度值越高,颜色越明亮;亮度值越低,颜色越暗淡。

(2)色调(hue)

色调是颜色的基本属性,它决定了颜色的种类。

色调是由光谱中的波长组成的,人眼能感知到的色调范围约为 360 种。

(3)饱和度(saturation)

饱和度是指颜色的纯度,它描述了颜色中所含灰色的程度。

饱和度越高,颜色越纯,显得越鲜艳;饱和度越低,颜色越接近灰色,显得越淡。

(4)对比度(Contrast)

对比度是描述图像或显示设备中明暗差异程度的物理量,它是图像处理和显示技术中一个重要的性能指标。

对比度体现了图像中最亮和最暗区域之间的差异,对于图像的清晰度和视觉效果具有重要影响。

6、常见图像文件格式

(1)BMP

这是一种无损压缩格式,主要用于 Windows 操作系统。

BMP 格式包含丰富的图像信息,但文件体积较大。

它适用于简单的图形和线条图,但对于复杂图像和照片不太适用。

(2)JPEG

这是一种有损压缩格式,广泛应用于数字相机和计算机图像处理。

JPEG 格式可以将图像压缩在较小的存储空间,但会损失一定的图像质量。

(3)PNG

​这是一种无损压缩格式,支持透明通道,适用于网络和计算机图形设计。

PNG 格式具有较高的压缩比,同时保持图像质量不变。

它支持 alpha 通道(透明度)、色度信息和图像滤镜。

(4)GIF

这是一种有损压缩格式,主要用于网络传输动态图像和低颜色数量的图片。

GIF 格式支持动画、透明度和颜色压缩,但图像质量相对较低。

(5)TIFF

这是一种无损压缩格式,适用于专业摄影和图像处理。

TIFF 格式支持高质量图像存储,但文件体积较大。它适用于存储高质量的照片、插图和设计作品。

(6)SVG

这是一种基于 XML 的矢量图形格式,适用于网络和印刷设计。

SVG 格式支持图形、文字、动画和交互性,同时保持图像质量不变。

它适用于简单的图形和复杂的设计,但文件体积较大。

7、数字图像处理常见内容

图像二值化、图像变换、图像增强、图像拼接、图像压缩编码、图像分割、图像分析与描述、图像的识别等等。

后面章节将会详细介绍各种算法。

8、数字图像处理系统

输入(采集);存储;图像处理与分析;输出(显示);


本文将不断定期更新中,点⭐赞,收⭐藏一下,不走丢哦

本文由FPGA入门到精通原创,有任何问题,都可以在评论区和我交流哦

公众号为“FPGA入门到精通”学习资料分享,github开源代码:“FPGA知识库”

你的支持是我持续创作的最大动力!如果本文对你有帮助,请给一个鼓励,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1277854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机械臂运动规划、抓取末端执行器、抓取开源项目

运动规划 1.1已有抓取点 假设抓取点已检测到。这些方法设计了从机器人手到目标物体抓取点的路径。这里运动表示是关键问题。虽然存在从机器人手到目标抓握点的无限数量的轨迹,但是由于机器人臂的限制,许多区域无法到达。因此,需要对轨迹进行…

代码浅析DLIO(四)---位姿更新

0. 简介 我们刚刚了解过DLIO的整个流程,我们发现相比于Point-LIO而言,这个方法更适合我们去学习理解,同时官方给出的结果来看DLIO的结果明显好于现在的主流方法,当然指的一提的是,这个DLIO是必须需要六轴IMU的&#x…

面试就是这么简单,offer拿到手软(一)—— 常见非技术问题回答思路

面试系列: 面试就是这么简单,offer拿到手软(一)—— 常见非技术问题回答思路 面试就是这么简单,offer拿到手软(二)—— 常见65道非技术面试问题 文章目录 一、前言二、常见面试问题回答思路问…

webGIS使用JS,高德API完成简单的智慧校园项目基础

代码实现 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…

react之@路径解析配置和联想配置

react之路径解析配置和联想配置 一、介绍二、路径解析配置三、联想路径配置 一、介绍 1.路径解析配置&#xff08;webpack&#xff09;&#xff0c;把 / 解析为 src/2.路径联想配置&#xff08;VsCode&#xff09;&#xff0c;VsCode 在输入 / 时&#xff0c;自动联想出来对应…

ARM64版本的chrome浏览器安装

这一快比较玄学&#xff0c;花个半个小时左右才能安装好&#xff0c;也不知道是个什么情况。 sudo snap install chromium只需要以上这个命令&#xff0c;当然&#xff0c;也可以自己去找安装包进行安装&#xff0c;但是测试后发现并没有那么好装&#xff0c;主要是两个部分 一…

Halcon参考手册目标检测和实例分割知识总结

1.1 目标检测原理介 目标检测&#xff1a;我们希望找到图像中的不同实例并将它们分配给某一个类别。实例可以部分重叠&#xff0c;但仍然可以区分为不同的实例。如图(1)所示&#xff0c;在输入图像中找到三个实例并将其分配给某一个类别。 图(1)目标检测示例 实例分割是目标检…

打造个性化github主页 一

文章目录 概述创建仓库静态美化GitHub 统计信息卡仓库 GitHub 额外图钉仓库 热门语言卡仓库 GitHub 资料奖杯仓库 GitHub 活动统计图仓库 打字特效添加中文网站统计仓库 总结 概述 github作为全球最大的代码托管平台&#xff0c;作为程序员都多多少少&#xff0c;都使用过他。…

基于SpringBoot的公益慈善平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 基于SpringBoot的公益…

【上海大学数字逻辑实验报告】三、组合电路(二)

一、实验目的 掌握8421码到余3码的转换。掌握2421码到格雷码的转换。进一步熟悉组合电路的分析和设计方法。学会使用Quartus II设计8421码到余3码的转换电路逻辑图。学会使用Quartus II设计2421码到格雷码的转换电路逻辑图。 二、实验原理 8421码是最常用的BCD码&#xff0c…

YOLOv5算法进阶改进(7)— 将主干网络SPPF更换为SimSPPF / SPP-CSPC / SPPF-CSPC

前言:Hello大家好,我是小哥谈。SimSPPF是YOLOv6中提出的一种改进的空间金字塔池化方法,它是SPPF的升级版。SimSPPF通过在不同尺度上使用不同大小的池化核来提取特征,从而提高了检测器的性能。与SPPF相比,SimSPPF可以在不增加计算成本的情况下提高检测器的性能。本节课就教…

Nacos源码解读01——服务注册

Nacos 2.0 架构设计及新模型 参考 https://zhuanlan.zhihu.com/p/344572647 使用GRPC注册临时实例流程图 SpringBoot自动注入 注入对应服务注册的Bean 监听Tomcat启动事件 NacosAutoServiceRegistration 继承了AbstractAutoServiceRegistration 而 AbstractAutoServiceR…

Oracle忘记所有密码怎么办

最近遇到一个Oracle的问题&#xff0c;密码要过期了&#xff0c;但是除了用户密码&#xff0c;其他密码都不知道了&#xff0c;修改不了密码怎么办呢&#xff1f; 试了各种方法&#xff0c;最终下面的方式生效了&#xff1a; 首先&#xff0c;使用orapwd生成新的密码文件&…

NIO网络编程

Netty学习之NIO基础 - Nyimas Blog 1、阻塞 阻塞模式下&#xff0c;相关方法都会导致线程暂停 ServerSocketChannel.accept 会在没有连接建立时让线程暂停SocketChannel.read 会在通道中没有数据可读时让线程暂停阻塞的表现其实就是线程暂停了&#xff0c;暂停期间不会占用 c…

说一说Java中的JUC

JUC 1.什么是JUC 2.进程和线程 进程 : cpu资源分配的最小单位 线程 : cpu调度和执行的最小单位 并发是指多个任务在同一个时间段内交替执行&#xff0c;通过时间片轮转等方式实现任务间的切换。换句话说&#xff0c;并发是指多个任务能够同时存在&#xff0c;但不一定同时…

树和二叉树的基本概念和堆的实现

树的概念及结构 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 1.有一个特殊的结点&#…

深度学习 -- 卷积神经网络

1、卷积神经网络的结构 大卫休伯尔( David Hunter Hubel ) 等人研究发现&#xff0c;猫的视皮层上 存在简单细胞( simple cell )和复杂细胞( complex cell )&#xff0c;简单细胞会对 感受野中特定朝向的线段做出反应&#xff0c;而复杂细胞对于特定朝向的钱段移动也能做出反应…

使用mybatis-plus框架:@Autowired报错Could not autowire. No beans of ‘XXX‘ type found

使用mybatis-plus框架,使用xxmapper报错&#xff1a; 解决办法是&#xff1a;在mapper中添加注解&#xff1a; Repository Mapper 也可以使用 AutowiredSysRoleMenuService sysRoleMenuService;替代 AutowiredSysRoleMenuMapper sysRoleMenuMapper;方法名不同&#xff0c;但…

工业机器视觉megauging(向光有光)使用说明书(十三,资源发现bug,已经更新)

megauging&#xff08;向光有光&#xff09;旧资源有bug&#xff0c;已经更新&#xff0c;如下&#xff1a; 第一工具&#xff0c;combox默认0&#xff0c;选择后&#xff0c;鼠标点击“获取结果”&#xff0c;相机就取一帧图像处理后显示出来&#xff1a; 第一工具&#xff0…

计算机网络之网络传输,三次握手和四次挥手

网络传输通过高低电压 流 基本类型数组 低电压转高电压&#xff0c;通过网卡 传输模式&#xff1a; 全双工&#xff1a;互相传输且能同时传输 半双工&#xff1a;互相传输但是不能同时传输 单工&#xff1a;单向传输&#xff0c;&#xff08;键盘&#xff0c;显示器&#…