基于分段式线性转换的非均匀图像转换方法及系统与流程

文档序号:18121368发布日期:2019-07-10 09:39阅读:150来源:国知局
基于分段式线性转换的非均匀图像转换方法及系统与流程

本公开属于图像处理领域,尤其涉及一种基于分段式线性转换的非均匀图像转换方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

ct是用x射线束对人体某部一定厚度的层面进行扫描,扫描所得信息经计算而获得每个体素的x射线衰减系数或吸收系数,再排列成矩阵,即数字矩阵。经数字/模拟转换器把数字矩阵中的每个数字转为由黑到白不等灰度的小方块,即像素,并按矩阵排列,即构成ct图像。所以,ct图像是重建图像。每个体素的x射线吸收系数可以通过不同的数学方法算出。

目前,ct图像的存储方式为将其转换为特定位数的图像数据,比如:16位图像数据。以16位图像数据为例:按照ct图像成像规律,大部分ct图像都无法完美的分布到十六位数据(0~65535)上,根据现有的ct图像统计,大部分图像数字矩阵数据处在0~4000之间,而且大部分数据集中在0~2000上,在2000~4000上,像素点占很小的一部分。这样就带来极大的问题是:图像灰度不均匀。

发明人发现,在机器视觉领域,各种算法对8位图有更好的支持,对于不均匀的图像转换为8位数图像数据时,按照最值线性转换,对于低灰度值和高灰度值及其系数,转换后的图像仍然是不均匀的。例如:将ct图像的16位图像数据转换为8位图像数据,按照通用方法转换图像,ct图像灰度值大部分将分布到0~16之间,相对于0~255,这个数据是极其不均匀的。



技术实现要素:

为了解决上述问题,本公开的第一个方面提供一种基于分段式线性转换的非均匀图像转换方法,其能够利用分段式线性转换,将灰度值不均匀的非8位图准确地转换为均匀的8位图像。

为了实现上述目的,本公开采用如下技术方案:

一种基于分段式线性转换的非均匀图像转换方法,包括:

计算灰度值不均匀的非8位图的所有像素点的灰度值;

按照像素点的灰度值大小,将灰度值不均匀的非8位图分成黑色区域和非黑色区域,同时将非黑色区域划分成若干区间区域;

利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线;

利用各个线性分段的灰度转换曲线,得到灰度值均匀的8位图。

为了解决上述问题,本公开的第二个方面提供一种基于分段式线性转换的非均匀图像转换系统,其能够利用分段式线性转换,将灰度值不均匀的非8位图准确地转换为均匀的8位图像。

为了实现上述目的,本公开采用如下技术方案:

一种基于分段式线性转换的非均匀图像转换系统,包括:

灰度值计算模块,其用于计算灰度值不均匀的非8位图的所有像素点的灰度值;

图像划分模块,其用于按照像素点的灰度值大小,将灰度值不均匀的非8位图分成黑色区域和非黑色区域,同时将非黑色区域划分成若干区间区域;

灰度转换曲线计算模块,其用于利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线;

图像转换模块,其用于利用各个线性分段的灰度转换曲线,得到灰度值均匀的8位图。

为了解决上述问题,本公开的第三个方面提供一种计算机可读存储介质,其能够利用分段式线性转换,将灰度值不均匀的非8位图准确地转换为均匀的8位图像。

为了实现上述目的,本公开采用如下技术方案:

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的基于分段式线性转换的非均匀图像转换方法中的步骤。

为了解决上述问题,本公开的第四个方面提供一种计算机设备,其能够利用分段式线性转换,将灰度值不均匀的非8位图准确地转换为均匀的8位图像。

为了实现上述目的,本公开采用如下技术方案:

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述所述的基于分段式线性转换的非均匀图像转换方法中的步骤。

本公开的有益效果是:

本公开按照灰度值不均匀的非8位图的像素点的灰度值大小,将灰度值不均匀的非8位图分成黑色区域和非黑色区域,同时将非黑色区域划分成若干区间区域;利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线;利用各个线性分段的灰度转换曲线,得到灰度值均匀的8位图,最终实现准确地将灰度值不均匀的非8位图转换为灰度均匀的8位图像,这样避免了图像转换过程中信息的畸变或丢失。

附图说明

构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。

图1是本公开实施例提供的一种基于分段式线性转换的非均匀图像转换方法流程图。

图2是本公开实施例提供的灰度转换曲线。

图3是本公开实施例提供的一种基于分段式线性转换的非均匀图像转换系统结构示意图。

具体实施方式

下面结合附图与实施例对本公开作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本公开的灰度值不均匀的非8位图不限于十六位图,也适用于二十四位图,三十二位图和不均匀的八位图。

图1是本公开实施例提供的一种基于分段式线性转换的非均匀图像转换方法流程图。

图1是本公开实施例提供的一种基于分段式线性转换的非均匀图像转换方法流程图。

如图1所示,本实施例的一种基于分段式线性转换的非均匀图像转换方法,包括:

s101:计算灰度值不均匀的非8位图(如16位图)的所有像素点的灰度值。

具体地,设灰度值不均匀的非8位图(如16位图)的任意像素点的灰度值为x;

将各个像素点的灰度值存储至二维数组xoriginal中;

其中,minoriginal≤x≤maxoriginal;maxoriginal为二维数组xoriginal中的最大值,minoriginal为二维数组xoriginal中的最小值;minoriginal=0,m为大于或等于3的正整数。

其中,对于灰度值不均匀的16位图,m=4。

灰度值不均匀的16位图以ct图像为例:

ct图像灰度值大部分将分布到0~16之间,相对于0~255,这个数据是极其不均匀的。

读取ct图像的dicom格式文件,预处理数组。

其中,dicom文件时包含图片矩阵、患者信息和序列信息,这里只需要读取图片矩阵,保存到二维数组xoriginal。

s102:按照像素点的灰度值大小,将灰度值不均匀的非8位图(如16位图)分成黑色区域和非黑色区域,同时将非黑色区域划分成若干区间区域。

例如:ct图像中大部分是空气部分(黑色区域)。如果将低灰度纳入计算,会是整体图片偏暗,不能使图像均匀显示,因此要单独计算低灰度值像素点。

s103:利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线。

具体地,利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线的公式为:

其中,black2m为灰度值不均匀的非8位图的黑色区域灰度值的最大值,m为大于或等于3的正整数;black8为8位图的对应灰度值不均匀的非8位图的黑色区域的灰度值的最大值;step为步长,step为正数且大于非8位图的任意像素点的灰度值与255的比值;ki为非黑色区域的第i个区间区域的转换斜率,bi为非黑色区域的第i个区间区域的偏移量,i≥1。

对于公式f(x)=kix+bi来说:

统计灰度值处于(black2m+step×(i-1),black2m+step×i]范围内的像素点总数sumcur,总像素数为sum,则映射角度alph=sumcur/sum;

第i个区间的起点坐标是:

xi-1=black2m+step×(i-1),yi-1=f(black2m+step×(i-1));

第i个区间的终点坐标:xi=black2m+step×i,yi=yi-1+(255-black8)×alph;

ki和bi的计算公式分别为:bi=yi-kixi。

对于灰度值不均匀的16位图来说,定义16位图像黑色区域最大值black16,转换后的最大值black8,则黑色区域的转换曲线是y=black8/black16*x。

计算x16=[black16+1,max]之间的灰度转换曲线。

统计像素点灰度值在x16范围内的像素点总数sum,设当前映射后最大八位灰度值cur=black8,设迭代开始灰度值n=black16+1。以step为步长(step越小,图像转换越精细,但step必须大于max/255,max=maxoriginal-minoriginal),遍历x16,开始计算每个步长内的转换曲线:

1)统计灰度值处于[n,n+step]范围内的像素点总数sumcur;

2)计算映射角度alph=sumcur/sum,当前直线起点x0=n,y0=cur,当前直线终点x1=n+step,y1=cur+(255–black8)*alph。则转换斜率k1=(y1-y0)/(x1-x0),偏移量b1=y1-k1*x1,最终转换直线为:y1=k1*x1+b1;

3)迭代cur=y1,n=n+step。

通过此步骤计算,可以得到最终转换公式,如图2所示,

s104:利用各个线性分段的灰度转换曲线,得到灰度值均匀的8位图。

具体地,计算最终的8位灰度矩阵y=f(x),得到灰度值均匀的8位图。

本实施例按照灰度值不均匀的非8位图的像素点的灰度值大小,将灰度值不均匀的非8位图分成黑色区域和非黑色区域,同时将非黑色区域划分成若干区间区域;利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线;利用各个线性分段的灰度转换曲线,得到灰度值均匀的8位图,最终实现准确地将灰度值不均匀的非8位图转换为灰度均匀的8位图像,这样避免了图像转换过程中信息的畸变或丢失。

图3是本公开实施例提供的一种基于分段式线性转换的非均匀图像转换系统结构示意图。

如图3所示,本实施例的一种基于分段式线性转换的非均匀图像转换系统,包括:

(1)灰度值计算模块,其用于计算灰度值不均匀的非8位图的所有像素点的灰度值。

灰度值不均匀的16位图以ct图像为例:

ct图像灰度值大部分将分布到0~16之间,相对于0~255,这个数据是极其不均匀的。

读取ct图像的dicom格式文件,预处理数组。

其中,dicom文件时包含图片矩阵、患者信息和序列信息,这里只需要读取图片矩阵,保存到二维数组xoriginal。

(2)图像划分模块,其用于按照像素点的灰度值大小,将灰度值不均匀的非8位图分成黑色区域和非黑色区域,同时将非黑色区域划分成若干区间区域。

例如:ct图像中大部分是空气部分(黑色区域)。如果将低灰度纳入计算,会是整体图片偏暗,不能使图像均匀显示,因此要单独计算低灰度值像素点。

(3)灰度转换曲线计算模块,其用于利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线。

具体地,在所述灰度转换曲线计算模块中,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线的公式为:

其中,black2m为灰度值不均匀的非8位图的黑色区域灰度值的最大值,m为大于或等于3的正整数;black8为8位图的对应灰度值不均匀的非8位图的黑色区域的灰度值的最大值;step为步长,step为正数且大于非8位图的任意像素点的灰度值与255的比值;ki为非黑色区域的第i个区间区域的转换斜率,bi为非黑色区域的第i个区间区域的偏移量,i≥1。

对于公式f(x)=kix+bi来说:

统计灰度值处于(black2m+step×(i-1),black2m+step×i]范围内的像素点总数sumcur,总像素数为sum,则映射角度alph=sumcur/sum;

第i个区间的起点坐标是:

xi-1=black2m+step×(i-1),yi-1=f(black2m+step×(i-1));

第i个区间的终点坐标:xi=black2m+step×i,yi=yi-1+(255-black8)×alph;

ki和bi的计算公式分别为:bi=yi-kixi。

对于灰度值不均匀的16位图来说,定义16位图像黑色区域最大值black16,转换后的最大值black8,则黑色区域的转换曲线是y=black8/black16*x。

计算x16=[black16+1,max]之间的灰度转换曲线。

统计像素点灰度值在x16范围内的像素点总数sum,设当前映射后最大八位灰度值cur=black8,设迭代开始灰度值n=black16+1。以step为步长(step越小,图像转换越精细,但step必须大于max/255,max=maxoriginal-minoriginal),遍历x16,开始计算每个步长内的转换曲线:

1)统计灰度值处于[n,n+step]范围内的像素点总数sumcur;

2)计算映射角度alph=sumcur/sum,当前直线起点x0=n,y0=cur,当前直线终点x1=n+step,y1=cur+(255–black8)*alph。则转换斜率k1=(y1-y0)/(x1-x0),偏移量b1=y1-k1*x1,最终转换直线为:y1=k1*x1+b1;

3)迭代cur=y1,n=n+step。

通过此步骤计算,可以得到最终转换公式,如图2所示,

(4)图像转换模块,其用于利用各个线性分段的灰度转换曲线,得到灰度值均匀的8位图。

具体地,计算最终的8位灰度矩阵y=f(x),得到灰度值均匀的8位图。

本实施例按照灰度值不均匀的非8位图的像素点的灰度值大小,将灰度值不均匀的非8位图分成黑色区域和非黑色区域,同时将非黑色区域划分成若干区间区域;利用分段线性转换方法,计算黑色区域以及非黑色区域内各个区间区域转换为相应灰度值均匀的8位图的灰度转换曲线;利用各个线性分段的灰度转换曲线,得到灰度值均匀的8位图,最终实现准确地将灰度值不均匀的非8位图转换为灰度均匀的8位图像,这样避免了图像转换过程中信息的畸变或丢失。

在另一实施例中,该系统,还包括:

存储模块,其用于将各个像素点的灰度值存储至二维数组xoriginal中;设灰度值不均匀的非8位图的任意像素点的灰度值为x;其中,minoriginal≤x≤maxoriginal;maxoriginal为二维数组xoriginal中的最大值,minoriginal为二维数组xoriginal中的最小值;minoriginal=0,m为大于或等于3的正整数。

在另一实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1所示的基于分段式线性转换的非均匀图像转换方法中的步骤。

在另一实施例中,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如图1所示的基于分段式线性转换的非均匀图像转换方法中的步骤。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1