一种快速处理感兴趣区域图像的算法

文档序号:1738167 发布日期:2019-12-20 浏览:3次 >En<

阅读说明:本技术 一种快速处理感兴趣区域图像的算法 (Algorithm for rapidly processing interested area image ) 是由 毛善 于 2019-08-14 设计创作,主要内容包括:本发明属于机器视觉图像处理技术领域,具体涉及一种快速处理感兴趣区域图像的算法,包括如下步骤:S1、对感兴趣区域进行分析,得到它的关键参数;S2、计算不同形状感兴趣区域的正外接矩形;S3、分A方法和B方法,其中A方法是从正外接矩形Y方向最小值开始,按行递增时,求得每行临界值,B方法则按列递增求得每列临界值。S4、利用TBB运算结合S1,S2,S3的计算结果对图像进行处理。本发明将不在特殊形状中的图像数据屏蔽,极大地减少了数据的冗余性,避免了无用的运算,提高了计算效率。(The invention belongs to the technical field of machine vision image processing, and particularly relates to an algorithm for rapidly processing an image of a region of interest, which comprises the following steps: s1, analyzing the region of interest to obtain key parameters of the region of interest; s2, calculating the right circumscribed rectangle of the interested areas with different shapes; and S3, dividing the method A into a method A and a method B, wherein the method A is to obtain a critical value of each row when the minimum value of the positive circumscribed rectangle in the Y direction is increased progressively according to the row, and the method B is to obtain a critical value of each column when the minimum value of the positive circumscribed rectangle in the Y direction is increased progressively according to the column. And S4, processing the image by combining the TBB operation and the calculation results of S1, S2 and S3. The invention shields the image data which is not in the special shape, greatly reduces the redundancy of the data, avoids useless operation and improves the calculation efficiency.)

一种快速处理感兴趣区域图像的算法

技术领域

本发明属于机器视觉图像处理技术领域,具体涉及一种快速处理感兴趣 区域图像的算法。

背景技术

机器视觉就是用机器代替人眼来做测量和判断。随着微电子工业的迅猛 发展,高分辨率,高处理速度的机器视觉系统不断诞生,这对图像处理算法 的速度、精度、稳定性等提出了新的要求。

在机器视觉中处理感兴趣区域图像是一种常用并且应用非常广泛的图像 处理方式,在数百万乃至上千万像素的图像中只取其中一部分感兴趣区域进 行图像处理,可以显著提高处理效率。现有技术中,在一副图像中只处理感 兴趣区域,其他区域保持源像素不变,传统的算法步骤为:1、生成一张能区 分感兴趣与非感兴趣区域的黑白掩模图像;2、根据掩模图像1(非感兴趣区 域为白色,感兴趣区域为黑色的掩模图像1),源图像与掩模图像1与运算 生成一幅非感兴趣区域是源像素不变、感兴趣区域为黑色的图像A;3、根据 掩模图像2(非感兴趣区域为黑色,感兴趣区域为白色的掩模图像2),源图 像处理结果与掩模图像2与运算生成一幅非感兴趣区域是黑色、感兴趣区域 为结果的图像B;4、图像A与图像B进行或运算,就能获得只处理感兴趣 区域,其他区域保持源像素不变的图像。在此过程中,非感兴趣的区域也参 与了运算,导致运算时间长,降低了运算效率。

有鉴于此,有必要提供一种快速处理感兴趣区域图形的算法。

发明内容

本发明的目的在于:针对现有技术的不足,而提供一种快速处理感兴趣 区域图像的算法,利用感兴趣区域的边界信息,结合数学运算和并行运算对 图像里感兴趣区域进行提取处理,稳定可靠。

为实现上述目的,本发明采用如下技术方案:

一种快速处理感兴趣区域图像的算法,包括如下步骤:

S1、对感兴趣区域进行分析,得到它的关键参数;

S2、计算不同形状感兴趣区域的外接矩形;

S3、分A方法和B方法,其中A方法是从正外接矩形最小的Y值开始,计 算当Y值以1个像素为单位递增时(按行递增),求得当前行感兴趣区域边界 的最左值XLeft,最右值XRight,Y值递增至正外接矩形最大的Y值时结束;B方 法是从外接矩形最小的X值开始,计算当X值以1个像素为单位递增时(按列 递增),求得当前列感兴趣区域边界的Y的最小值YTop,Y的最大值YDown,X 值递增至正外接矩形最大的X值时计算结束;

S4、利用TBB运算,结合S1、S2、S3的计算结果,实现多行或多列的并 行图像处理运算,最后得到处理后的图像数据结果。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S1中,所述感兴趣区域为斜矩形时,它的关键参数是中心点位置、角度、 长和宽;所述感兴趣区域为圆形时,它的关键参数是圆心和半径;所述感兴 趣区域为椭圆形时,它的关键参数是中心点、角度、长轴长和短袖长;所述 感兴趣区域为圆环时,它的关键参数是圆心、内半径、外半径、起始角度和 覆盖角度;所述感兴趣区域为多边形时,它的关键参数是点数组;所述感兴 趣区域为不规则形状时,它的关键参数是点数组。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S1中,所述感兴趣区域可以是一副图像单独一个的连通区域,也可以是 多个连通区域。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S2中,所述外接矩形是感兴趣区域部分的外接正矩形。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法A中,当感兴趣区域为斜矩形时,从正外接矩形Y值最小的那一行 开始,按行递增时,当前行区域临界的最左值XLeft,最右值XRight的计算方 法为:将斜矩形的四个顶点代入求直线方程:Y=kX+b,求出4条直线方程; 然后求4条直线方程与方程(Y=常数)的交点;将这个4个交点的X坐标冒 泡排序,排序为第二的X坐标为XLeft,排序为第三的X坐标为XRight。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法A中,当感兴趣区域为圆形时,从正外接矩形Y值最小的那一行开 始,按行递增时,当前行区域临界的最左值XLeft,最右值XRight的计算方法 为计算当前Y值与圆心Y坐标的差值dy,已知dy,半径根据勾股定理:a2+b2=c2,求出dx。然后圆心坐标X坐标减去dx就是当前Y值的XLeft,圆心坐标X 坐标加上dx就是当前Y值的XRight。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法A中,当感兴趣区域为椭圆形时,从正外接矩形Y值最小的那一行 开始,按行递增时,当前行区域临界的最左值XLeft,最右值XRight的计算方 法为:求出椭圆形的两定点C1,C2的坐标,已知椭圆上某一点的Y坐标,求该 点的X坐标,根据椭圆定义:椭圆上任意一点P点到两定点C1,C2的距离的和 等于常数2a列出方程(公式为|PC1|+|PC2|=2a),求得两个X坐标,最后对两 个X坐标值进行比较分析,结果值较小的X坐标为XLeft,结果值较大的X坐 标为XRight。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法A中,当感兴趣区域为斜椭圆形时,可用另外一种方法算出XLeft 和XRight。根据斜椭圆的旋转角度进行旋转,令变成新坐标系中的正椭圆形,Y=常数也跟着旋转在新的坐标系中变成新的方程Y=kX+b,正椭圆公式 或者

与直线方程Y=kX+b求交点,求得两个交点的坐标后进行旋转,返回原 本的坐标系中,结果值较小的X坐标为XLeft,结果值较大的X坐标为XRight。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法A中,当感兴趣区域为任意一种形状时,源图像为感兴趣区域内 灰度值是255,非感兴趣区域的灰度值是0时,从外接矩形最小的Y值开始, 对每一行的灰度值进行一个累加的过程,求得曲线,利用公式 对曲线进行求导,两个跳跃点即是曲线上拐 点的X坐标,第一个拐点的X坐标作为XLeft,第二个拐点的X坐标作为XRight。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法B中,当感兴趣区域为斜矩形时,从正外接矩形X值最小的那一列 开始,按列递增时,当前列区域临界的Y的最小值YTop,Y的最大值YDown 的计算方法为:将斜矩形的四个顶点代入求直线方程:Y=kX+b,求出4条 直线方程;然后求4条直线方程与方程(X=常数)的交点;将这个4个交点 的Y坐标冒泡排序,排序为第二的Y坐标为YTop,排序为第三的Y坐标为YDown。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法B中,当感兴趣区域为圆形时,从正外接矩形X值最小的那一列开 始,按列递增时,当前列区域临界的Y的最小值YTop,Y的最大值YDown的计 算方法为:计算当前X值与圆心X坐标的差值dx,已知dx,半径根据勾股定理: a2+b2=c2,求出dy;然后圆心坐标Y坐标减去dy就是当前列的YTop,圆心 坐标Y坐标加上dy就是当前列的YDown。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法B中,当感兴趣区域为椭圆形时,从正外接矩形X值最小的那一列 开始,按列递增时,当前列区域临界的Y的最小值YTop,Y的最大值YDown 的计算方法为:求出椭圆形的两定点C1,C2的坐标,已知椭圆上某一点的X坐 标,求该点的Y坐标,根据椭圆定义:椭圆上任意一点P点到两定点C1,C2的 距离的和等于常数2a列出方程(公式为|PC1|+|PC2|=2a),求得两个Y坐标, 最后对两个Y坐标值进行比较分析,结果值较小的Y坐标为YTop,结果值较 大的Y坐标为YDown。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S3方法B中,当感兴趣区域为任意一种形状时,源图像为感兴趣区域内 灰度值是255,非感兴趣区域的灰度值是0时,从外接矩形最小的X值开始, 对每一列的灰度值进行一个累加的过程,求得曲线,利用公式 对曲线进行求导,两个跳跃点即是曲线上拐 点的X坐标,第一个拐点的X坐标作为YTop,第二个拐点的X坐标作为YDown。

作为本发明所述的快速处理感兴趣区域图像的算法的一种改进,在所述 步骤S4中,所述TBB运算主要功能是并行算法、任务调度、并行容器等;测 试数据显示当列数不变,固定为1000列时,行数分别是100行、200行、400 行、800行、1600行、3200行、6400行时,本发明调用TBB运算时间分别是: 0.01毫秒、0.011毫秒、0.012毫秒、0.019毫秒、0.031毫秒、0.056毫秒、0.11 毫秒;不调用TBB运算时间分别是:0.006毫秒、0.008毫秒、0.014毫秒、0.029 毫秒、0.054毫秒、0.112毫秒、0.222毫秒。从数据上看当行数足够多时利用 TBB才有优势,所以本发明中会依据图像的大小判断是否使用TBB并行运算。

相比于现有技术,本发明至少具有以下有益效果:

1)本发明将不在感兴趣区域中的图像数据屏蔽极大地减少了数据的冗余 性,避免了无用的运算,提高了计算效率。

2)本发明采取数学定义计算感兴趣区域每行或每列的临界点,提高了计 算的可靠性。

3)本发明采用TBB并行运算方法。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部 分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的 不当限定。在附图中:

图1为本发明中方法的流程图;

图2为本发明中实施例1的结构示意图;

图3为本发明中实施例2的结构示意图;

图4为本发明中实施例3的结构示意图;

图5为本发明中实施例5、实施例9的结构示意图;

图6为本发明中实施例6的结构示意图;

图7为本发明中实施例7的结构示意图;

图8为本发明中实施例8的结构示意图;

具体实施方式

如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技 术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明 书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能 上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包 含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的 误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基 本达到所述技术效果。

以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定。

实施例1

如图1-2所示,一种快速处理感兴趣区域图像的算法,包括如下步骤:

S1、对感兴趣区域进行分析,得到它的关键参数;

S2、计算不同形状感兴趣区域的正外接矩形;

S3、分A方法和B方法,其中A方法是从正外接矩形最小的Y值开始,计 算当Y值以1个像素为单位递增时(按行递增),求得当前行感兴趣区域边界 的最左值XLeft,最右值XRight,Y值递增至正外接矩形最大的Y值时结束;B方 法是从外接矩形最小的X值开始,计算当X值以1个像素为单位递增时(按列 递增),求得当前列感兴趣区域边界的Y的最小值YTop,Y的最大值YDown,X 值递增至正外接矩形最大的X值时计算结束;

S4、利用TBB运算,结合S1、S2、S3的计算结果,实现多行或多列的并 行图像处理运算,最后得到处理后的图像数据结果。本发明采用TBB并行运 算方法;采取数学定义计算感兴趣区域每行或每列的临界点,提高了计算的 可靠性;将不在感兴趣区域中的图像数据屏蔽极大地减少了数据的冗余性, 避免了无用的运算,提高了计算效率。

优选的,在步骤S1中,感兴趣区域为斜矩形,它的关键参数是中心点位 置、角度、长和宽。

优选的,在步骤S1中,感兴趣区域可以是一副图像单独一个的连通区域, 也可以是多个连通区域。

优选的,在步骤S2中,外接矩形是感兴趣区域部分的外接正矩形。

优选的,在步骤S3方法A中,当感兴趣区域为斜矩形时,从正外接矩形Y 值最小的那一行开始,按行递增时,当前行区域临界的最左值XLeft,最右值 XRight的计算方法为:将斜矩形的四个顶点代入求直线方程:Y=kX+b,求 出4条直线方程;然后求4条直线方程与方程(Y=常数)的交点;将这个4 个交点的X坐标冒泡排序,排序为第二的X坐标为XLeft,排序为第三的X坐 标为XRight。

优选的,步骤S4中,TBB运算主要功能是并行算法、任务调度、并行容 器等;测试数据显示当列数不变,固定为1000列时,行数分别是100行、200 行、400行、800行、1600行、3200行、6400行时,本发明调用TBB运算时间 分别是:0.01毫秒、0.011毫秒、0.012毫秒、0.019毫秒、0.031毫秒、0.056毫 秒、0.11毫秒;不调用TBB运算时间分别是:0.006毫秒、0.008毫秒、0.014 毫秒、0.029毫秒、0.054毫秒、0.112毫秒、0.222毫秒。从数据上看当行数足 够多时利用TBB才有优势,所以本发明中会依据图像的大小判断是否使用 TBB并行运算。

实施例2

如图3所示,与实施例1不同的是:本实施例中感兴趣区域为圆形,它的 关键参数是圆心和半径。

优选的,在步骤S3方法A中,当感兴趣区域为圆形时,从正外接矩形 Y值最小的那一行开始,按行递增时,当前行区域临界的最左值XLeft,最右 值XRight的计算方法为计算当前Y值与圆心Y坐标的差值dy,已知dy,半 径根据勾股定理:a2+b2=c2,求出dx。然后圆心坐标X坐标减去dx就是当 前行的XLeft,圆心坐标X坐标加上dx就是当前行的XRight。例如针对 8192*4000的灰度图像而言,感兴趣区域是一个圆,圆心的(1000,1000), 半径是1000,使感兴趣区域里的像素提高100,以往常用方法耗时8.53毫秒, 本算法耗时0.4毫秒。

其它算法步骤均与实施例1中相同,这里不再赘述。

实施例3

如图4所示,与实施例1不同的是:本实施例中感兴趣区域为椭圆形,它 的关键参数是中心点、角度、长轴长和短袖长。

优选的,在步骤S3方法A中,当感兴趣区域为椭圆形时,从从正外接矩 形Y值最小的那一行开始,按行递增时,当前行区域临界的最左值XLeft,最右 值XRight的计算方法为:求出椭圆形的两定点C1,C2的坐标,已知椭圆上某 一点的Y坐标,求该点的X坐标,根据椭圆定义:椭圆上任意一点P点到两定 点C1,C2的距离的和等于常数2a列出方程(公式为|PC1|+|PC2|=2a),求得两 个X坐标,最后对两个X坐标值进行比较分析,结果值较小的X坐标为XLeft, 结果值较大的X坐标为XRight。例如针对8192*4000的灰度图像而言,感兴趣区域是一个椭圆,圆心的(1000,1000),长半径是2000,短半径是1600,旋 转角度是0,对感兴趣区域里的像素进行亮度调节,以往常用方法耗时7.07 毫秒,本算法耗时2.71毫秒。

其它算法步骤均与实施例1中相同,这里不再赘述。

实施例4

与实施例1不同的是:本实施例中感兴趣区域为斜椭圆形,它的关键参数 是中心点、角度、长轴长和短袖长。

优选的,在步骤S3方法A中,当感兴趣区域为斜椭圆形时,可用另外 一种方法算出XLeft和XRight。根据斜椭圆的旋转角度进行旋转,令变成新 坐标系中的正椭圆形,Y=常数也跟着旋转在新的坐标系中变成新的方程Y= kX+b,正椭圆公式或者

与直线方程Y=kX+b求交点,求得两个交点的坐标后进行旋转,返回原 本的坐标系中,结果值较小的X坐标为XLeft,结果值较大的X坐标为XRight。

其它算法步骤均与实施例1中相同,这里不再赘述。

实施例5

如图5所示,与实施例1不同的是:本实施例中感兴趣区域任意一种形状 时,源图像为感兴趣区域内灰度值是255,非感兴趣区域的灰度值是0时,从 外接矩形最小的Y值开始,对每一行的灰度值进行一个累加的过程,求得曲 线(如图5所示),利用公式对曲线进行求导, 两个跳跃点即是曲线上拐点的X坐标,第一个拐点的X坐标作为XLeft,第二 个拐点的X坐标作为XRight。

其它算法步骤均与实施例1中相同,这里不再赘述。

实施例6

如图6所示,与实施例1不同的是:本实施例中步骤S3方法B中,当感兴 趣区域为斜矩形时,从正外接矩形X值最小的那一列开始,按列递增时,当 前列区域临界的Y的最小值YTop,Y的最大值YDown的计算方法为:将斜矩形 的四个顶点代入求直线方程:Y=kX+b,求出4条直线方程;然后求4条直线 方程与方程(X=常数)的交点;将这个4个交点的Y坐标冒泡排序,排序为 第二的Y坐标为YTop,排序为第三的Y坐标为YDown。

其它算法步骤均与实施例1中相同,这里不再赘述。

实施例7

如图7所示,与实施例2不同的是:本实施例中步骤S3方法B中,当感兴 趣区域为圆形时,从正外接矩形X值最小的那一列开始,按列递增时,当前 列区域临界的Y的最小值YTop,Y的最大值YDown的计算方法为:计算当前X 值与圆心X坐标的差值dx,已知dx,半径根据勾股定理:a2+b2=c2,求出dy; 然后圆心坐标Y坐标减去dy就是当前列的YTop,圆心坐标Y坐标加上dy就是 当前列的YDown。

其它算法步骤均与实施例2中相同,这里不再赘述。

实施例8

如图8所示,与实施例3不同的是:本实施例中步骤S3方法B中,当感兴 趣区域为椭圆形时,从正外接矩形X值最小的那一列开始,按列递增时,当 前列区域临界的Y的最小值YTop,Y的最大值YDown的计算方法为:求出椭圆 形的两定点C1,C2的坐标,已知椭圆上某一点的X坐标,求该点的Y坐标,根 据椭圆定义:椭圆上任意一点P点到两定点C1,C2的距离的和等于常数2a列出 方程(公式为|PC1|+|PC2|=2a),求得两个Y坐标,最后对两个Y坐标值进行 比较分析,结果值较小的Y坐标为YTop,结果值较大的Y坐标为YDown。

其它算法步骤均与实施例3中相同,这里不再赘述。

实施例9

如图5所示,与实施例5不同的是:本实施例中步骤S3方法B中,当感兴 趣区域为任意一种形状时,源图像为感兴趣区域内灰度值是255,非感兴趣区 域的灰度值是0时,从外接矩形最小的X值开始,对每一列的灰度值进行一个 累加的过程,求得曲线(如图5所示),利用公式 对曲线进行求导,两个跳跃点即是曲线上拐 点的X坐标,第一个拐点的X坐标作为YTop,第二个拐点的X坐标作为 YDown。

其它算法步骤均与实施例5中相同,这里不再赘述。

上述说明示出并描述了本发明的若干优选实施例,但如前,应当理解本 发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可 用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述 教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化 不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种药品识别方法、装置和用于药品识别的装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!