基于FPGA语言的快速去紫边算法、装置和控制系统制造方法及图纸

技术编号:38025155 阅读:12 留言:0更新日期:2023-06-30 10:51
本申请涉及一种基于FPGA语言的快速去紫边算法、装置和控制系统,通过获取原始数据像素点;计算所述原始数据像素点中蓝值的最小值B

【技术实现步骤摘要】
基于FPGA语言的快速去紫边算法、装置和控制系统


[0001]本公开涉及图像处理
,尤其涉及一种基于FPGA语言的快速去紫边算法、装置和控制系统及工业显微镜。

技术介绍

[0002]紫边现象是指数码相机在拍摄取过程中,由于被摄物体反差较大,在高光与低光部位交界处出现的色斑的现象。通常来说,紫边出现的原因与相机镜头的色散、CCD成像面积过小(成像单元密度大)、相机内部的信号处理算法等有关。
[0003]而要克服这类问题,CCD/CMOS面积较大的单反相机加上含有低色散镜片的镜头,就起到很大的作用了。但这样一来整体相机成本就会增加非常多,且不能完全解决图像紫边问题。这就就需要配合一些修正紫边的算法用于去除。
[0004]目前现有技术下,去除紫边的方法通常是先进行紫边区域检测、然后消除紫边,降低紫边饱和度或者蓝色分量来消除紫边。但是会消耗大量资源用于检索紫边区域,这些算法通常适用于资源比较大的器件使用。针对低成本相机,在特定使用环境中,急需基于FPGA语言的快速去紫边算法占用资源少,简单的去紫边算法用于来解决资源不够,但是又想去除紫边的算法。

技术实现思路

[0005]为了解决上述问题,本申请提出基于FPGA语言的快速去紫边算法、装置和控制系统及工业显微镜。
[0006]本申请一方面,提出一种基于FPGA语言的快速去紫边算法,包括如下步骤:
[0007]获取原始数据像素点;
[0008]计算所述原始数据像素点中蓝值的最小值B
min

[0009]计算当前值对应的绿值最大值G
max
,以及当前值对应的红值R;
[0010]判断当前值是否同时大于所述绿值最大值G
max
以及红值R:若同时满足,则判定当前值为蓝色,为需要去掉的紫边,将当前值替换为B
min

[0011]作为本申请的一可选实施方案,可选地,获取原始数据像素点之后,还包括:
[0012]按照预设的阵列条件,获取呈阵列布置的原始数据像素点,得到像素矩阵;
[0013]输出并保存所述像素矩阵。
[0014]作为本申请的一可选实施方案,可选地,计算所述原始数据像素点中蓝值的最小值B
min
,包括:
[0015]设定计算范围;
[0016]从所述像素矩阵中,根据计算范围划分出计算矩阵,并划分得到中心点为蓝值的计算阵列NxN;
[0017]计算并得到所述计算阵列NxN中所有蓝值中的最小值B
min

[0018]作为本申请的一可选实施方案,可选地,计算当前值对应的绿值最大值G
max
,包括:
[0019]计算并得到当前值对应的绿值G1;
[0020]计算并得到当前值周围MxM范围内的若干绿值G2;其中,M<N;
[0021]从绿值G1和若干绿值G2中,计算并得到绿值最大值G
max

[0022]作为本申请的一可选实施方案,可选地,计算当前值对应的红值R,包括:
[0023]计算并得到当前值对应的红值R1;
[0024]计算并得到当前值周围MxM范围内的若干红值R2;
[0025]从红值R1和若干红值R2中,计算并得到其中的最大值作为红值R。
[0026]作为本申请的一可选实施方案,可选地,计算当前值对应的红值R,包括:
[0027]计算并得到当前值周围MxM范围内的若干红值R2;
[0028]计算并得到若干红值R2的平均值,作为红值R。
[0029]作为本申请的一可选实施方案,可选地,判断当前值是否同时大于所述绿值最大值G
max
以及红值R时,还包括:
[0030]若不满足:当前值是否同时大于所述绿值最大值G
max
以及红值R,则结束;
[0031]循环检查紫边待检测区域。
[0032]本申请另一方面,提出一种实现所述基于FPGA语言的快速去紫边算法的装置,包括:
[0033]像素获取模块,用于获取原始数据像素点;
[0034]蓝值计算模块,用于计算所述原始数据像素点中蓝值的最小值B
min

[0035]判断值计算模块,用于计算当前值对应的绿值最大值G
max
,以及当前值对应的红值R;
[0036]判断模块,用于判断当前值是否同时大于所述绿值最大值G
max
以及红值R:若同时满足,则判定当前值为蓝色,为需要去掉的紫边,将当前值替换为B
min

[0037]本申请另一方面,还提出一种控制系统,包括:
[0038]处理器;
[0039]用于存储处理器可执行指令的存储器;
[0040]其中,所述处理器被配置为执行所述可执行指令时实现所述的基于FPGA语言的快速去紫边算法。
[0041]本申请另一方面,还提出一种工业显微镜,所述工业显微镜采用上述所述基于FPGA语言的快速去紫边算法进行图像去紫边处理。
[0042]本专利技术的技术效果:
[0043]本申请通过获取原始数据像素点;计算所述原始数据像素点中蓝值的最小值B
min
;计算当前值对应的绿值最大值G
max
,以及当前值对应的红值R;判断当前值是否同时大于所述绿值最大值G
max
以及红值R:若同时满足,则判定当前值为蓝色,为需要去掉的紫边,将当前值替换为B
min
。采用去除紫边的算法,通过检测图像边缘部分级周边若干行像素等范围内是否为紫色晕染边,然后再根据周围实际边缘进行修复,该算法针对fpga语言需要缓存10行以上数据并大量计算边界(ram块)以及大量逻辑资源进行复杂计算才可以得到。能够用于降低当前蓝值,起到降低蓝紫边的功能。这里不需要过大资源,也不需要进行复杂的边缘计算。
[0044]根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得
清楚。
附图说明
[0045]包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
[0046]图1示出为本专利技术基于FPGA语言的快速去紫边算法的实施流程示意图;
[0047]图2示出为本专利技术一个中心点为蓝值(B)的计算阵列9x9的像素阵列;
[0048]图3示出为本专利技术9x9阵列内蓝值的判断流程示意图。
具体实施方式
[0049]以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0050]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于FPGA语言的快速去紫边算法,其特征在于,包括如下步骤:获取原始数据像素点;计算所述原始数据像素点中蓝值的最小值B
min
;计算当前值对应的绿值最大值G
max
,以及当前值对应的红值R;判断当前值是否同时大于所述绿值最大值G
max
以及红值R:若同时满足,则判定当前值为蓝色,为需要去掉的紫边,将当前值替换为B
min
。2.根据权利要求1所述的基于FPGA语言的快速去紫边算法,其特征在于,获取原始数据像素点之后,还包括:按照预设的阵列条件,获取呈阵列布置的原始数据像素点,得到像素矩阵;输出并保存所述像素矩阵。3.根据权利要求2所述的基于FPGA语言的快速去紫边算法,其特征在于,计算所述原始数据像素点中蓝值的最小值B
min
,包括:设定计算范围;从所述像素矩阵中,根据计算范围划分出计算矩阵,并划分得到中心点为蓝值的计算阵列NxN;计算并得到所述计算阵列NxN中所有蓝值中的最小值B
min
。4.根据权利要求3所述的基于FPGA语言的快速去紫边算法,其特征在于,计算当前值对应的绿值最大值G
max
,包括:计算并得到当前值对应的绿值G1;计算并得到当前值周围MxM范围内的若干绿值G2;其中,M<N;从绿值G1和若干绿值G2中,计算并得到绿值最大值G
max
。5.根据权利要求1所述的基于FPGA语言的快速去紫边算法,其特征在于,计算当前值对应的红值R,包括:计算并得到当前值对...

【专利技术属性】
技术研发人员:李希栾国晨
申请(专利权)人:北京睿智奥恒视觉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1