CN105704464A - 一种基于fpga的色域空间转换方法 - Google Patents
一种基于fpga的色域空间转换方法 Download PDFInfo
- Publication number
- CN105704464A CN105704464A CN201610032029.7A CN201610032029A CN105704464A CN 105704464 A CN105704464 A CN 105704464A CN 201610032029 A CN201610032029 A CN 201610032029A CN 105704464 A CN105704464 A CN 105704464A
- Authority
- CN
- China
- Prior art keywords
- signal
- component
- max
- fpga
- modular converter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/10—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本发明涉及图像处理技术,具体涉及一种基于FPGA的色域空间转换方法,包括如下步骤:S1:通过AD采集模块,将摄像头采集到的视频图像转换为16位数字信号;S2:通过量化补偿的方式,将16位数字信号转变为R信号,G信号和B信号;S3:将上述R信号、G信号和B信号输入转换模块,并配合浮点乘除法运算器的调用输出H分量、S分量和V分量,本发明基于FPGA,实现了RGB色域空间到HSV色域空间的转换,加快了系统的响应速度、减少了系统逻辑单元的消耗、也大大提高了系统运行的稳定性;相比于PC平台的C/C++语言,执行率更高,并行处理多个像素位的能力大幅提升,可以稳定处理640×480分辨率60帧每秒的数据流。
Description
技术领域
本发明涉及图像处理技术,具体涉及一种基于FPGA的色域空间转换方法。
背景技术
随着多媒体和通信技术的发展,视频图像处理的实时性成为人们关注的热点。现场可编程门阵列(FPGA)运算的并行性等特点,能够提高运算速度满足视频处理的实时性要求。
从摄像仪和扫描仪所获得的颜色,以及计算机显示所用的颜色都是RGB色域空间。RGB色域空间是基于三基色原理,自然界中的任何一种颜色都可用这三种基本颜色按不同的比例混合得到,它们构成一个三维的RGB矢量空间,如图1所示。但是RGB色域空间中,颜色的属性没有独立,在进行图像处理时,会造成各个属性间的相互干扰,给图像处理带来了很大的麻烦。例如在进行图像处理时,如果不均匀改变RGB,会改变亮度和饱和度,由此带来的RGB比例改变甚至会改变色调。
HSV色域空间在图像处理方面具有较突出的优势,它将颜色的色度(H分量),饱和度(S分量)和明度(V分量)属性分离,所以在许多像Photoshop、Illustrator这样的图像编辑软件中应用比较广泛。如图2所示,HSV色域空间是根据色彩的几个基本属性:色度、饱和度和明度来确定颜色的一种方法。色度(Hue)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等,依照图2所示,处于平行于六棱锥顶面的色平面上,由绕V轴的旋转角给定,以红色的0o开始按逆时针方向依次计算,绿色为120o,蓝色为240o,它们的补色黄色为60o,青色为180o,品红为300o,取值范围从0o到360o(360o构成一个完整的圆)。饱和度(Saturation)是指色彩的纯度,越高色彩越纯,越低则逐渐变灰,如图2所示,沿S箭头方向数值范围取0~1。明度(Value)也叫亮度,如图2所示,沿V箭头方向数值范围取0~1。它是六棱锥的中心轴,顶端V=1成白色,底端V=0成黑色,整个中心轴表示无彩色系的灰度颜色。
RGB与HSV色域空间的相互转化,一般只能使用C等高级语言在PC软件平台实现,而运用FPGA硬件平台实现起来,无论从速度,实时性,时钟同步,应用范围,可产品化程度等方面都大大超过软件,因此显得十分重要。由于现有的RGB和HSV色域空间转换公式(R,G,B信号都是归一化处理)涉及到许多浮点乘除法运算和分类情况,针对于FPGA自身的特点,如果直接运行,现实起来比较困难。
发明内容
本发明提供一种基于FPGA的色域空间转换方法,解决现有RGB与HSV色域空间在FPGA硬件平台相互转化因为浮点乘除法运算和分类情况导致无法实现的问题,具体技术方案如下:
一种基于FPGA的色域空间转换方法,包括如下步骤:
S1:通过AD采集模块,将摄像头采集到的视频图像转换为16位数字信号;
S2:通过量化补偿的方式,将16位数字信号转变为R信号,G信号和B信号;
S3:将上述R信号、G信号和B信号输入转换模块,并配合浮点乘除法运算器的调用输出H分量、S分量和V分量。
具体的,所述R信号,G信号,B信号,H分量,S分量,V分量均为8位数字信号。
具体的,所述S3步骤中的转换模块中包括H分量转换模块、S分量转换模块和V分量转换模块。
具体的,所述H分量转换模块利用浮点乘除法运算器进行如下处理:
先定义并计算(g-b)/(max-min)=t1,(b-r)/(max-min)=t2,
(r-g)/(max-min)=t3;
若max=min,则h=0;
若max=r,且g>b,则h=42.5*t1;
若max=r,且g<b,则h=42.5*t1+255;
若max=g,则h=42.5*t2+85;
若max=b,则h=42.5*t3+170;
所述S分量转换模块利用浮点乘除法运算器进行如下处理:
若max=0,则s=0;
其它,则s=(max-min)/max;
所述V分量转换模块进行如下处理:
v=max;
r为R信号的2进制数值,g为G信号的2进制数值,b为B信号的2进制数值,max为r,g,b中的最大值,min为r,g,b中的最小值,v为V分量的数值。
具体的,所述浮点乘除法运算器进行除法运算时先对除数进行求倒数后再与被除数相乘。
有益效果:
本发明基于FPGA,设计实现了RGB色域空间到HSV色域空间的转换,充分利用FPGA控制器的高速实时性,深度挖掘其逻辑单元,无论从成本功耗和传输速率都较传统的PC平台和单片机、DSP控制器有很大提高;同时,本发明中高速8位浮点乘除法运算器对除法运算的处理,加快了系统的响应速度、减少了系统逻辑单元的消耗、也大大提高了系统运行的稳定性;移植到FPGA的RGB转HSV色域转换算法相比于PC平台的C/C++语言,执行率更高,并行处理多个像素位的能力大幅提升,可以稳定处理640×480分辨率60帧每秒的数据流。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为RGB矢量空间图;
图2为HSV矢量空间图;
图3为本发明总体模块连接图;
图4为H分量转换模块、S分量转换模块和V分量转换模块转换流程图;
图5为浮点乘除法运算器流程图;
图6为RGB转HSV仿真图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示的一种基于FPGA的色域空间转换方法,包括如下步骤:
S1:通过AD采集模块,将摄像头采集到的视频图像转换为16位数字信号;
S2:通过量化补偿的方式,将16位数字信号转变为R信号,G信号和B信号;
S3:将上述R信号、G信号和B信号输入转换模块,并配合浮点乘除法运算器的调用输出H分量、S分量和V分量。
所述R信号,G信号,B信号,H分量,S分量,V分量均为8位数字信号,所述S3步骤中的转换模块中包括H分量转换模块、S分量转换模块和V分量转换模块,所述H分量转换模块利用浮点乘除法运算器进行如下处理:
先定义并计算(g-b)/(max-min)=t1,(b-r)/(max-min)=t2,
(r-g)/(max-min)=t3;
若max=min,则h=0;
若max=r,且g>b,则h=42.5*t1;
若max=r,且g<b,则h=42.5*t1+255;
若max=g,则h=42.5*t2+85;
若max=b,则h=42.5*t3+170;
所述S分量转换模块利用浮点乘除法运算器进行如下处理:
若max=0,则s=0;
其它,则s=(max-min)/max;
所述V分量转换模块进行如下处理:
v=max;
r为R信号的2进制数值,g为G信号的2进制数值,b为B信号的2进制数值,max为r,g,b中的最大值,min为r,g,b中的最小值,v为V分量的数值。
所述浮点乘除法运算器进行除法运算时先对除数进行求倒数后再与被除数相乘。
实施例:
在实际图像采集时,本方案中摄像头采用的是OV7725的数字摄像头,由于OV7725输出的是RGB565的颜色制式,但是色域转换方法中用的是RGB888,所以在进行色域转换之前,要先将RGB565量化补偿到RGB888。在FPGA中实现就是将R5[4..0]高三位补充到R8的低三位,构成8位的R8,例如R5:[01001]补偿后就变为R8:[01001010]。B分量同理可得,G分量是将高两位补充到低两位。
FPGA在一般情况下,只支持加,减,乘的直接逻辑运算(浮点数除外),而对于R,G,B这三种输入信号在转换公式中又需要进行分式运算,所以就不得到进行浮点计算,同时在实际情况中,R、G、B信号是由摄像头采集并进行AD转换得到,其信号宽度取决于AD芯片的位数。把宽度为n位的R、G、B信号记为Rn、Gn、Bn,其二进制取值的范围是0~2n-1。本专利采用8位的AD芯片,将得到8位的R8、G8、B8信号,其值的范围是0~255。
根据IEEE标准,浮点数的的格式如下所示:(表中“1”、“8”、“23”分别表示该部分所占的位数)
上表为IEEE浮点数标准表,通常浮点数表示为:F=(-1)s×M×RE
其中,S表示符号,‘0’表示正数,‘1’表示负数;M是尾数,E是阶码。R称作“阶的基数”,通常取二进制时等于2。通常阶码E表示范围为0~255。
由于在FPGA中若按照IEEE标准实现浮点除法将十分复杂,所以如图5所示,本发明采取被除数与除数的倒数相乘的方法。因此,在给定除数的同时必须计算出除数的倒数,由于除数的倒数是小数形式,因此需将此倒数的小数部分的8位和整数部分的最后1位(主要考虑除数为1时,倒数的整数部分为1,其余情况下整数位都为0)记录成9位二进制。这样可以与被除数进行二进制乘法运算。乘积的后8位为商的小数部分,前面为商的整数部分。
在FPGA中,采用一组0-127的数组,用一个相关函数来求解除数的倒数部分,相关函数即是在一个时钟周期通过一个对应的倒数列表(0-127,一共128个)来直接求取,
FPGA中RGB转HSV方法:
首先在FPGA中,需要把角度,R,G,B的数值全部标准化,即全部化归到0~255的范围中(R,G,B选取的是8位AD转换器)。所以360o,240o,120o,60o这四个角度要转换成255,170,85,42.5。具体转换算法流程如下:
1、先找出R,G,B中最大和最小的数值,即找到max,min
2、计算h分量:
通过上述浮点乘除法器计算并定义(g-b)/(max-min)=t1,
(b-r)/(max-min)=t2,(r-g)/(max-min)=t3;
若max=min,则h=0;
若max=r,且g>b,则h=42.5*t1;
若max=r,且g<b,则h=42.5*t1+255;
若max=g,则h=42.5*t2+85;
若max=b,则h=42.5*t3+170。
3、计算s分量:
若max=0,则s=0;
其它,则s=(max-min)/max。
4、计算v分量:
v=max。
特别注明:上述数值在QuartusII编程时,都统一化归成8位二进制数(中间过程量有部分是9位带符号位的整数位和8位小数位)。
如图6所示为QuartusII下仿真的数据,RGB[2,10,20],RGB[3,11,21],RGB[4,12,22],得到的HSV分量分别是HSV[127,229,20],HSV[127,218,21],HSV[127,208,22],虽然由于浮点乘除法器的计算精度(8位)造成最终HSV分量还存在3到4个单位数值的误差,但人眼已经完全区分不出,基本可以满足实际的要求。
本发明基于FPGA,设计实现了RGB色域空间到HSV色域空间的转换,充分利用FPGA控制器的高速实时性,深度挖掘其逻辑单元,无论从成本功耗和传输速率都较传统的PC平台和单片机、DSP控制器有很大提高;同时,本发明中高速8位浮点乘除法运算器对除法运算的处理,加快了系统的响应速度、减少了系统逻辑单元的消耗、也大大提高了系统运行的稳定性;移植到FPGA的RGB转HSV色域转换算法相比于PC平台的C/C++语言,执行率更高,并行处理多个像素位的能力大幅提升,可以稳定处理640×480分辨率60帧每秒的数据流。
本以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于FPGA的色域空间转换方法,其特征在于,包括如下步骤:
S1:通过AD采集模块,将摄像头采集到的视频图像转换为16位数字信号;
S2:通过量化补偿的方式,将16位数字信号转变为R信号,G信号和B信号;
S3:将上述R信号、G信号和B信号输入转换模块,并配合浮点乘除法运算器的调用输出H分量、S分量和V分量。
2.一种基于FPGA的色域空间转换方法,其特征在于,所述R信号,G信号,B信号,H分量,S分量,V分量均为8位数字信号。
3.如权利要求2所述的基于FPGA的色域空间转换方法,其特征在于,所述S3步骤中的转换模块中包括H分量转换模块、S分量转换模块和V分量转换模块。
4.如权利要求3所述的基于FPGA的色域空间转换方法,其特征在于,
所述H分量转换模块利用浮点乘除法运算器进行如下处理:
先定义并计算(g-b)/(max-min)=t1,(b-r)/(max-min)=t2,(r-g)/(max-min)=t3;
若max=min,则h=0;
若max=r,且g>b,则h=42.5*t1;
若max=r,且g<b,则h=42.5*t1+255;
若max=g,则h=42.5*t2+85;
若max=b,则h=42.5*t3+170;
所述S分量转换模块利用浮点乘除法运算器进行如下处理:
若max=0,则s=0;
其它,则s=(max-min)/max;
所述V分量转换模块进行如下处理:
v=max;
r为R信号的2进制数值,g为G信号的2进制数值,b为B信号的2进制数值,max为r,g,b中的最大值,min为r,g,b中的最小值,v为V分量的数值。
5.如权利要求4所述的基于FPGA的色域空间转换方法,其特征在于,所述浮点乘除法运算器进行除法运算时先对除数进行求倒数后再与被除数相乘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610032029.7A CN105704464A (zh) | 2016-01-18 | 2016-01-18 | 一种基于fpga的色域空间转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610032029.7A CN105704464A (zh) | 2016-01-18 | 2016-01-18 | 一种基于fpga的色域空间转换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105704464A true CN105704464A (zh) | 2016-06-22 |
Family
ID=56226515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610032029.7A Pending CN105704464A (zh) | 2016-01-18 | 2016-01-18 | 一种基于fpga的色域空间转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105704464A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872657A (zh) * | 2017-11-29 | 2018-04-03 | 杭州电子科技大学 | 基于fpga的色域空间转换的方法 |
US10867226B1 (en) | 2019-11-04 | 2020-12-15 | Capital One Services, Llc | Programmable logic array and colorspace conversions |
US10878600B1 (en) | 2019-12-10 | 2020-12-29 | Capital One Services, Llc | Augmented reality system with color-based fiducial marker utilizing local adaptive technology |
CN116028013A (zh) * | 2023-02-20 | 2023-04-28 | 辰星(天津)自动化设备有限公司 | 一种fpga除法运算的优化方法、装置、除法器和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723715A (zh) * | 2002-09-20 | 2006-01-18 | 翠贝卡映像实验公司 | 数字图像的颜色校正方法 |
WO2008072679A1 (ja) * | 2006-12-12 | 2008-06-19 | Sumitomo Chemical Company, Limited | マークの検出方法 |
CN103400566A (zh) * | 2012-07-18 | 2013-11-20 | 京东方科技集团股份有限公司 | 一种rgb数据的处理方法及系统 |
CN105187701A (zh) * | 2015-09-15 | 2015-12-23 | 东北师范大学 | 分光计电子显示系统 |
CN105225647A (zh) * | 2015-10-15 | 2016-01-06 | 小米科技有限责任公司 | 亮度调整方法及装置 |
-
2016
- 2016-01-18 CN CN201610032029.7A patent/CN105704464A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723715A (zh) * | 2002-09-20 | 2006-01-18 | 翠贝卡映像实验公司 | 数字图像的颜色校正方法 |
WO2008072679A1 (ja) * | 2006-12-12 | 2008-06-19 | Sumitomo Chemical Company, Limited | マークの検出方法 |
CN103400566A (zh) * | 2012-07-18 | 2013-11-20 | 京东方科技集团股份有限公司 | 一种rgb数据的处理方法及系统 |
CN105187701A (zh) * | 2015-09-15 | 2015-12-23 | 东北师范大学 | 分光计电子显示系统 |
CN105225647A (zh) * | 2015-10-15 | 2016-01-06 | 小米科技有限责任公司 | 亮度调整方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872657A (zh) * | 2017-11-29 | 2018-04-03 | 杭州电子科技大学 | 基于fpga的色域空间转换的方法 |
US10867226B1 (en) | 2019-11-04 | 2020-12-15 | Capital One Services, Llc | Programmable logic array and colorspace conversions |
US10878600B1 (en) | 2019-12-10 | 2020-12-29 | Capital One Services, Llc | Augmented reality system with color-based fiducial marker utilizing local adaptive technology |
CN116028013A (zh) * | 2023-02-20 | 2023-04-28 | 辰星(天津)自动化设备有限公司 | 一种fpga除法运算的优化方法、装置、除法器和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5273671B2 (ja) | 表示信号変換装置 | |
CN100562126C (zh) | 调整特定色彩性质的装置及方法 | |
US8724894B1 (en) | Colorization of digital imagery | |
CN105704464A (zh) | 一种基于fpga的色域空间转换方法 | |
CN104486606A (zh) | 调整图像亮度和对比度的方法及其装置 | |
CN101742340A (zh) | 图像的优化编辑方法及装置 | |
CN108337496A (zh) | 白平衡处理方法、处理装置、处理设备及存储介质 | |
US20170061843A1 (en) | Image processing method and image processing apparatus | |
CN101401108B (zh) | 用于运动图像内容的数据处理方法 | |
US10554862B2 (en) | System and method for retaining color gamut | |
WO2018049753A1 (zh) | 色域扩展系统和方法 | |
KR100679048B1 (ko) | 색역 사상 방법 및 장치 | |
KR20070082727A (ko) | 색역 매핑 장치 및 이를 이용한 색역 경계 설정 방법 | |
CN101909215A (zh) | 色彩转换方法以及其相对应的色彩显示方法 | |
CN106531097B (zh) | 一种医用显示器色彩还原系统及其实现方法 | |
JP2004362573A (ja) | Mpdに色再現するための色信号処理装置およびその方法 | |
WO2022120799A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110689860B (zh) | 一种图像表示方法、装置和计算机存储介质 | |
WO2019006965A1 (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN103021375B (zh) | 影像亮度调整电路 | |
CN104637034A (zh) | 调整图像饱和度的方法及其装置 | |
US20230147596A1 (en) | Method and apparatus for filtering image colors, electronic device and storage medium | |
CN107872657A (zh) | 基于fpga的色域空间转换的方法 | |
JP2011188319A (ja) | 色補正方法及び色補正装置 | |
WO2016169205A1 (zh) | 显示方法和显示设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160622 |
|
RJ01 | Rejection of invention patent application after publication |