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

视频图像处理是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.mzph.cn/news/190606.shtml

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

相关文章

二维A*算法

MATLAB2016b可以正常运行 function bidirectional_ASTAR clc; clear; %% 初始化界面 n 11; % field size n x n tiles 20*20的界面 %wallpercent 0.3; % this percent of field is walls 15%的界面作为阻碍物(墙) cmap [1 1 1; ...% 1 - whit…

linux特殊权限_suid_chattr_umask

3.3 特殊权限 如果一个文件很重要,需要依赖特殊权限避免其被删除。 由于特殊权限会拥有一些“特权”,因而用户若无特殊需要,不应该去打开这些权限,避免安全方面出现严重漏洞,甚至摧毁系统。3个权限是对了执行文件或目…

FPGA串口接收解帧、并逐帧发送有效数据-2

FPGA串口接收解帧、并逐帧发送有效数据 工程实现的功能:FPGA串口接收到串口调试助手发来的数据,将其数据解帧。判断到正确的帧头和帧尾之后,将有效数据存入rx_data中;另一方面发送端将有效数据逐帧发送出去。 参考:正…

【电路笔记】-串联和并联电阻

串联和并联电阻 文章目录 串联和并联电阻1、概述2、串联和并联电阻示例13、串联和并联电阻示例2 电阻器可以无限数量的串联和并联组合连接在一起,形成复杂的电阻电路。 1、概述 在之前的教程中,我们学习了如何将各个电阻器连接在一起以形成串联电阻器网…

linux设置权限_setfacl_getfacl

3.2 设置权限ACL(access control list) 假设:/data所有者与所属组均为root,在不改变所有者的前提下,要求用户tom对该目录有完全访问权限(rwx)。只能考虑: 方法一:给/dat…

超详细实现【贪吃蛇】(1)

目录 技术要点介绍 🙂Win32 API 🙂控制台程序 🎇标题 🎇大小 在Windows终端上: 在VS上: 🎇坐标 🙂光标 😶‍🌫️GetStdHandle 😶‍&am…

基于STM32 + TIM _定时器的基本机构和工作原理详解

前言 本篇博客主要学习了解定时器的基本结构和工作原理,掌握定时器的驱动程序和设计。本篇博客大部分是自己收集和整理,如有侵权请联系我删除。 本次博客板子使用的是正点原子精英版,芯片是STM32F103ZET6,需要资料可以我拿取。 本博客内容原…

[数据结构]红黑树的定义以及添加原则

红黑树是一种自平衡的二叉查找树,是一种常用的数据结构 1972年出现,在当时被称为平衡二叉B树。后来1978年被修改为如今的“红黑树” 它是一个特殊的二叉查找树,红黑树的每一个节点上都有储存位表示节点的颜色 每一个节点可以是红或者黑&#…

代码生成器——MyBatisX插件

MyBatisX插件 MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率。 但是在真正开发过程中,MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表联查,我们就需要自己去编写代码和SQ…

密码学实验三

第一题: 寻找满足特定条件的 e; 第一步: 第二步: 由式1.7知,给定e,p,q,就可计算出相应的RSA不动点的数目。因此设计算法步骤如下: 枚举找出所有与φ(n)互素的e。枚举所有满足条件的e&#xff…

为XiunoBBS4.0开启redis缓存且支持密码验证

修改模块文件1 xiunoPHP/cache_redis.class.php: <?phpclass cache_redis {public $conf array();public $link NULL;public $cachepre ;public $errno 0;public $errstr ;public function __construct($conf array()) {if(!extension_loaded(Redis)) {return $thi…

HTTP 基本概念(计算机网络)

一、HTTP 是什么&#xff1f; HTTP(HyperText Transfer Protocol) &#xff1a;超文本传输协议。 HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。 「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议…

Linux部分基础指令讲解

目录 1.echo指令 2.more指令 3.less指令&#xff08;重要&#xff09; 4.head指令 5.tail指令 6.管道| 7.时间相关的指令 8.cal指令 9.find指令 10.grep指令 1.echo指令 我们先看效果 如图所示我们可以看到显示器显示出了hellow world和hellow这两句话&#xff0c;我们的echo的…

51单片机对SHT30的驱动,读取温湿度

一、SHT30简介 SHT30温湿度传感器是一种数字式温湿度传感器&#xff0c;由Sensirion公司开发和生产。它具有高精度、快速响应和稳定性强的特点&#xff0c;被广泛用于气象观测、室内环境监测、智能家居和工业自动化等领域。 以下是SHT30温湿度传感器的主要特点&#xff1a; 高精…

简单句子成分、阅读技巧

四、段落的主旨题&#xff1a;问这一段讲了什么&#xff08;一般都在段落的第一句话或最后一句话&#xff09; 词汇题的答案一般都在生词的上一句或者下一句 做题步骤&#xff1a; 1、先标段落 2、看题&#xff0c;划出关键词 3、去原文定位&#xff0c;标注中文意思 4、第一遍…

Dart编程基础 - 一种新的编程语言

Dart编程基础 – 一种新的编程语言 Dart Programming Essentials - A New Type of Programming Language By JacksonML Dart is a client-optimized language for fast apps on any platform From dart.dev 在1999年之前&#xff0c;和我一样对计算机技术感兴趣的伙伴们&…

1094. 拼车(差分堆排序)

Problem: 1094. 拼车 文章目录 题目思路Review 差分数组定义区间加法减法更新差分数组&#xff1a;为啥这样更新 思路1 Code思路2 Code 题目 车上最初有 capacity 个空座位。车 只能 向一个方向行驶&#xff08;也就是说&#xff0c;不允许掉头或改变方向&#xff09; 给定整…

高级前端面试中的三个 “送命题” !!!

原型与原型链 说到原型&#xff0c;就不得不提一下构造函数&#xff0c;首先我们看下面一个简单的例子&#xff1a; function Dog(name,age){this.name name;this.age age; }let dog1 new Dog("哈士奇",3); let dog2 new Dog("泰迪",2);首先创造空的…

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

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

python etree.HTML 以及xpath 解析网页的工具

文章目录 导入模块相关语法实战 导入模块 from lxml import etree相关语法 XPath&#xff08;XML Path Language&#xff09;是一种用于在XML文档中定位和选择元素的语言。XPath的主要应用领域是在XML文档中进行导航和查询&#xff0c;通常用于在XML中选择节点或节点集合。以…