CN110211039A - 一种图像处理方法及其装置 - Google Patents
一种图像处理方法及其装置 Download PDFInfo
- Publication number
- CN110211039A CN110211039A CN201910356718.7A CN201910356718A CN110211039A CN 110211039 A CN110211039 A CN 110211039A CN 201910356718 A CN201910356718 A CN 201910356718A CN 110211039 A CN110211039 A CN 110211039A
- Authority
- CN
- China
- Prior art keywords
- sub
- image
- input picture
- processing
- memory
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 198
- 230000015654 memory Effects 0.000 claims abstract description 143
- 230000003321 amplification Effects 0.000 claims abstract description 75
- 238000003199 nucleic acid amplification method Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000013507 mapping Methods 0.000 claims description 53
- 230000008859 change Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 241001269238 Data Species 0.000 description 4
- 230000006340 racemization Effects 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种图像处理方法及其装置,所述方法基于FPGA实现,包括:获取若干子输入图像,将子输入图像存于第一存储器中;根据输入图像的分辨率,从第一存储器中获取子输入图像,并对子输入图像进行分块处理,得到子输入图像块;根据输出图像的放大倍数、旋转角度,对子输入图像块进行旋转放大、插值处理,得到子输出图像块,将子输出图像块存于第二存储器和第三存储器中;根据输出图像的分辨率,从第二存储器或第三存储器中获取子输出图像块,以得到输出图像。本发明提供的图像处理方法,通过将输入图像进行分块,不再局限于对整幅输入图像的操作,使得图像处理方法在FPGA中更易实现,能够实现图像的快速旋转放大,而且旋转放大后的效果很好。
Description
技术领域
本发明属于数字图像处理技术领域,具体涉及一种图像处理方法及其装置。
背景技术
在数字图像处理技术中,图像旋转与缩放技术已经广泛应用于军事、医学、航空等各个领域。
图像旋转作为数字图像处理的一个重要组成,在工业自动化、机器视觉、卫星遥感、医疗诊断等域有很好的运用。例如自动化工业现场工件识别与定位、电子装配线的元件自动定位以及管脚数目检测、IC芯片上的字符识别、航空领域高分辨率数字图像显示处理、医疗方面实现三维图像重建等等。此外,研究实时图像旋转对解决电子消旋有很大的帮助。例如在机载电视激光摄像与瞄准过程中,电视激光摄像框架的横滚运动引起光学系统核成像器件相对载机的运动,使得图像旋转,影响飞行员的观察一级操作,需要对目标图像进行实时反旋转变换,以便于对目标图像进行自动识别以及定位。在图像旋转后容易出现锯齿效应,因此需要进行灰度级插值以消除旋转后图像的锯齿效应,并且为了适应不同分辨率的显示器,需要采用相应的图像缩放处理技术将输入信号的分辨率进行缩放处理。在图像插值缩放处理过程中,目前常采用的方法有最邻近点法、双线性内插法和基于图像边缘的算法等。
但上述方法在大多图像处理后,效果比较差,而且硬件实现比较困难。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种图像处理方法及其装置。
本发明实施例提供了一种图像处理方法,所述方法基于FPGA实现,包括:
获取输入图像集,并将所述输入图像集存储于第一存储器中,其中,所述输入图像集包括若干子输入图像;
根据输入图像的分辨率,从所述第一存储器中获取预设数量的所述子输入图像,并对所述子输入图像进行分块处理,得到若干子输入图像块;
根据所要输出的输出图像的放大倍数、旋转角度,对所述子输入图像块进行旋转放大、插值处理,得到子输出图像块,并将当前时刻得到的所述子输出图像块存储于第二存储器,上一时刻得到的所述子输出图像块存储于第三存储器中;
根据所述输出图像的分辨率,从所述第二存储器或所述第三存储器中获取所述子输出图像块,以得到所述输出图像。
在本发明的一个实施例中,根据输入图像的分辨率,从所述第一存储器中获取预设数量的所述子输入图像并对所述子输入图像进行分块处理,得到若干子输入图像块,包括:
对预设数量的所述子输入图像进行预设大小的分块处理,得到若干所述子输入图像块。
在本发明的一个实施例中,根据所要输出的输出图像的放大倍数、旋转角度,对所述子输入图像块进行旋转放大、插值处理,得到子输出图像块,包括:
根据所述输出图像的放大倍数、旋转角度对所述子输入图像块进行旋转放大处理,得到处理图像块;
对所述处理图像块进行插值处理,得到子输出图像块。
在本发明的一个实施例中,根据所述输出图像的放大倍数、旋转角度对所述子输入图像块进行旋转放大处理,得到处理图像块,包括:
根据所述输出图像的放大倍数、旋转角度和第一预设映射规则对所述子输入图像块进行第一映射处理,得到第一旋转图像块;
根据第二预设映射规则对所述第一旋转图像块进行第二映射处理,得到第二旋转图像块;
根据所述第一旋转图像块和所述第二旋转图像块,得到所述处理图像块。
在本发明的一个实施例中,根据所述第一旋转图像块和所述第二旋转图像块,得到所述处理图像块,包括:
利用所述第二预设映射规则得到所述第二旋转图像块中每个像素点的位置;
判断所述像素点是否为有效像素点,当所述像素点的位置在所述子输入图像块的范围内,则为有效像素点,保留所述像素点对应的第一旋转图像块中的像素点,得到处理图像块,当所述像素点的位置不在所述子输入图像块的范围内,则为无效像素点,删除所述像素点对应的第一旋转图像块中的像素点,得到处理图像块。
在本发明的一个实施例中,对所述处理图像块进行插值处理,得到子输出图像块,包括:
根据所述输入图像的分辨率和所述输出图像的放大倍数得到所述处理图像块中每个像素点的位置信息;
根据所述位置信息得到所述像素点对应的第四存储器中的相邻像素点的像素值;
从第五存储器中获取所述子输入图像块的插值系数,根据所述相邻像素点的像素值和所述插值系数对所述处理图像块中的像素点进行插值处理,得到子输出图像块。
在本发明的一个实施例中,所述像素点对应的第四存储器中的相邻像素点的像素值,包括:
对预设数量的所述子输入图像中每个像素点进行N2倍的扩充处理,得到N2个相邻像素点的像素值,N为大于0的整数,并将N2个所述相邻像素点的像素值存储于所述第四存储器中。
在本发明的一个实施例中,根据所述输出图像的分辨率,从所述第二存储器或所述第三存储器中获取所述子输出图像块,以得到所述输出图像,包括:
比较当前时刻所述输出图像的处理参数的任一处理参数与下一时刻输出图像的处理参数相对应的任一处理参数,若所述当前时刻任一处理参数和所述下一时刻相对应的任一处理参数均未发生变化,则根据所述输出图像的分辨率从所述第二存储器获取所述子输出图像块并输出所述子输出图像块,以得到所述输出图像,若所述当前时刻任一处理参数和所述下一时刻相应的任一处理参数发生改变,则根据所述输出图像的分辨率从所述第三存储器获取所述子输出图像块并输出所述子输出图像块,同时刷新所述第二存储器,以得到所述输出图像,其中,所述输出图像的处理参数包括所述输出图像的分辨率、放大倍数、旋转角度。
本发明的再一个实施例提供了一种图像处理装置,所述装置包括:
第一存储器,用于存储获取的所述输入图像集,所述输入图像集包括若干张子输入图像;
图像分块模块,连接所述第一存储器,用于根据所述输入图像的分辨率,从所述第一存储器中获取预设数量的所述子输入图像,对所述子输入图像进行分块处理,得到若干子输入图像块;
图像旋转模块,连接所述图像分块模块,根据所要输出到的所述输出图像的放大倍数、旋转角度,对所述子输入图像块进行旋转放大、插值处理,得到子输出图像块;
第二存储器,连接所述图像旋转模块,用于存储当前时刻得到的经所述图像旋转模块处理的所述子输出图像块;
第三存储器,连接所述图像旋转模块,用于存储上一时刻得到的经所述图像旋转模块处理的所述子输出图像块;
图像输出模块,连接所述第二存储器、所述第三存储器,用于根据所述输出图像的分辨率,从所述第二存储器或所述第三存储器中获取所述子输出图像块,以得到所述输出图像。
在本发明的一个实施例中,所述装置还包括:
命令控制模块,连接所述图像分块模块、所述图像旋转模块、所述图像输出模块,用于输入所述输入图像的分辨率和所述输出图像的处理参数;
刷新控制模块,连接所述命令控制模块、所述第二存储器、所述第三存储器,用于根据所述命令控制模块输入的所述输出图像的处理参数,刷新所述第二存储器、所述第三存储器。
与现有技术相比,本发明的有益效果:
1、本发明提供的图像处理方法,通过将输入图像进行分块,不再局限于对整幅输入图像的操作,使得图像处理方法在FPGA中更易实现,将图像处理方法移植到FPGA这一硬件平台上,能够实现图像的快速旋转放大,而且旋转放大后的效果很好。
2、本发明对输入图像在旋转的同时进行放大处理,并利用FPGA实现双三次插值处理,能够快速处理高速视频图像,不仅可以做到旋转放大的同步要求,提高了输出图像的分辨率,而且可以有效的消除旋转后的锯齿效应。
3、本发明的图像处理方法可以满足640×512@100Hz放大1倍或2倍、320×256@100Hz和160×128@100Hz放大1倍、2倍或4倍的视频图像,应用范围广泛,可以满足实时性要求。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1为本发明实施例提供的一种图像处理方法的流程示意图;
图2为本发明实施例提供的一种图像处理方法中对输入图像分块处理的示意图;
图3为本发明实施例提供的一种图像处理方法中对输入图像扩充16倍的示意图;
图4为本发明实施例提供的一种图像处理方法中预留大范围旋转图像的示意图;
图5为本发明实施例提供的一种图像处理方法中旋转映射的示意图;
图6为本发明实施例提供的一种图像处理方法中第一映射处理的示意图;
图7为本发明实施例提供的一种图像处理方法中第二映射处理的示意图;
图8为本发明实施例提供的一种图像处理方法中采用双三次插值的插值处理示意图;
图9为本发明实施例提供的一种图像处理装置的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1、图2、图3、图4、图5、图6、图7、图8,图1为本发明实施例提供的一种图像处理方法的流程示意图,图2为本发明实施例提供的一种图像处理方法中对输入图像分块的示意图,图3为本发明实施例提供的一种图像处理方法中对输入图像分块后的扩充16倍的示意图,图4为本发明实施例提供的一种图像处理方法中预留大范围旋转图像的示意图,图5为本发明实施例提供的一种图像处理方法中旋转映射的示意图,图6为本发明实施例提供的一种图像处理方法中第一映射处理的示意图,图7为本发明实施例提供的一种图像处理方法中第二射处理的示意图,图8为本发明实施例提供的一种图像处理方法中采用双三次插值的插值处理示意图。本发明实施例提供了的一种图像处理方法,该方法包括:
步骤1、获取输入图像集,并将输入图像集存储于第一存储器中,其中,输入图像集包括若干张子输入图像。
具体而言,本实施例通过相机进行输入图像集的采集,然后通过图像输入接口,比如Cameralink接口,将相机采集到的输入图像集输入到PC机或FPGA中,本实施例实现主要是基于FPGA的。其中,采集到的输入图像集可兼容640×512、320×256、160×128的分辨率,单像素值最大位深不超过16bit;输入图像集包括若干子输入图像,子输入图像为输入图像集的若干行像素点,比如对于640×512分辨率的输入图像,包括640行512列的像素点,子输入图像包括其若干行像素点,每行有640个像素点,对于320×256分辨率的输入图像,子输入图像包括其若干行像素点,每行有320个像素点,对于160×128分辨率的输入图像,子输入图像包括其若干行像素点,每行有160个像素点,本实施例中,对于640×512分辨率的输入图像,取用32行的像素点,对于320×256分辨率的输入图像,取用16行的像素点,对于160×128分辨率的输入图像,取用8行的像素点。
为了节省FPGA上的缓存资源,提高图像处理速度,本实施例将输入图像集借助外部的DDR3缓存模块来实现缓存,DDR3缓存模块把从相机输入的输入图像集转换为DDR3的写时序,存储到DDR3缓存模块中的第一存储器中,用于为后续图像处理提供需要的子输入图像。
步骤2、根据输入图像的分辨率,从第一存储器中获取预设数量的子输入图像,并对子输入图像进行分块处理,得到若干子输入图像块,包括:
对预设数量的子输入图像进行预设大小的分块处理,得到若干子输入图像块。
具体而言,为了保证图像在FPGA上的处理效率,本实施例需要将输入图像集先进行分块处理,其分块的大小由输入图像的分辨率决定。具体分法:根据输入图像的分辨率,从第一存储器中获取预设数量的子输入图像,当输入图像的分辨率为640×512时,从第一存储器获取预设数量的子输入图像为输入图像集的32行像素点,每行有640个像素点,然后对获取的子输入图像进行分块处理,分块的预设大小为32×32;当输入图像的分辨率为320×256时,从第一存储器获取预设数量的子输入图像为输入图像集的16行像素点,每行有320个像素点,然后对获取的子输入图像进行分块处理,分块的预设大小为16×16;当输入图像的分辨率为160×128时,从第一存储器获取预设数量的子输入图像为输入图像集的8行像素点,每行有160个像素点,然后对获取的子输入图像进行分块处理,分块的预设大小为8×8。可见,本实施例并不是从第一存储器中将整幅输入图像集读入FPGA进行分块处理,而是根据输入图像的分辨率从第一存储器中的输入图像集读取预设数量的子输入图像,然后对读取的子输入图像进行分块处理。同时,为了保证在后续图像处理过程中可以利用到其周围像素信息,本实施例对输入的子输入图像四周各多扩展两行两列数据,从第一存储器读取子输入图像后,同样需要在分块时,对该子输入图像块四周各多读取两行两列数据,即对于640×512分辨率的输入图像,读取36行的像素点(或34行像素点,最顶和最底为34行),分块的预设大小为36×36,对于320×256分辨率的输入图像,读取20行的像素点(或18行像素点,最顶和最底为18行),分块的预设大小为20×20,对于160×128分辨率的输入图像,读取12行的像素点(或10行像素点,最顶和最底为10行),分块的预设大小为12×12,然后对读取的36行、20行或是12行像素点的子输入图像进行36×36、20×20或是12×12(最顶和最底为34×34或是10×10)像素点分块处理,得到若干子输入图像块。
本实施例为了保证在后续旋转放大、插值过程中能利用到其周围像素信息,在像素读取和分块时,均需要在其四周各多读取两行两列数据,如果读取块为边缘块,则复制最临近点的像素值,从而保证在后续图像处理中不丢失数据,保证图像像素值的精度;本实施例是在FPGA中进行的分块,减少了DDR3读取冗余数据,大幅度提高了FPGA读取DDR3中数据的效率,也提高整个系统的工作效率。
进一步地,本实施例在对子输入图像进行分块处理之前对子输入图像进了扩充处理,包括:
对预设数量的子输入图像中每个像素点进行N2倍的扩充处理,得到N2个相邻像素点的像素值,N为大于0的整数,并将N2个相邻像素点的像素值存储于第四存储器中。
优选地,2≤N≤4,特别的N为4。
具体而言,本实施例为了提高插值后图像的分辨率,在子输入图像分块处理前,先对子输入图像进行了N2倍的扩充,并将扩充后的数据存储在第四存储器,从而节省FPGA因分块处理占用的资源;同时,在后续插值处理的时候可以直接从第四存储器对应的子输入图像的地址获取插值所需要的相邻像素点的像素值,将分块和插值有机结合起来,提高插值后图像的分辨率。例如,本实施例中N取值为4,即对子输入图像进行16倍扩充处理,对于640×512分辨率的输入图像,扩充第一块36×36子输入图像块中的每个像素点,扩充好后进行运算,在第一块子输入图像块运算的同时扩充第二块36×36子输入图像块,以此类推,对子输入图像的36行像素点均进行扩充处理。其中,16倍是因为扩充的模板为4×4的块,请再参见图3,具体地扩充为:先从1至4行取33组数据,然后模板下移一行,在2至5行再取33组数据,以此类推,完成对子输入图像的36行的扩充,并将扩充16倍的数据按照如图3所示顺序依次存储到第四存储器中。因为本实施例后续需要对子输入图像进行插值处理,根据双三次插值的特点,需要用到每个像素点周围16个像素值,所以,为满足高速处理要求,本实施例预先将每个像素点周围相邻的16个像素点的像素值按照顺序组合成一个数值存储于第四寄存器中,在后续进行插值处理中,通过计算出对应的16个相邻像素点的像素值在第四存储器的位置,即可获取该16个相邻像素点的像素值,利用16个相邻像素点的像素值进行插值处理,提高插值后图像的分辨率。
步骤3、根据所要输出的输出图像的放大倍数、旋转角度,对子输入图像块进行旋转放大、插值处理,得到子输出图像块,并将当前时刻得到的子输出图像块存储于第二存储器,上一时刻得到的子输出图像块存储于第三存储器中,包括:
步骤3.1、根据所要输出的输出图像的放大倍数、旋转角度,对子输入图像块进行旋转放大、插值处理,得到子输出图像块,包括:
根据输出图像的放大倍数、旋转角度对子输入图像块进行旋转放大处理,得到处理图像块;
对处理图像块进行插值处理,得到子输出图像块。
具体而言,为了便于图像处理,同时可以保留旋转放大后图像的全部信息,本实施例需要对旋转放大后的图像大小进行预先设定,使得无论子输入图像怎样旋转,其均能存进旋转图像的范围内。请再参见图4,本实施例设定旋转图像为正方形,其边长为子输入图像对角线长度取整,图4中所示外边大的正方形为旋转图像,两边小的长方形为子输入图像。
进一步地,根据输出图像的放大倍数和旋转角度对子输入图像块进行旋转放大处理,得到处理图像块,包括:
根据输出图像的放大倍数、旋转角度和第一预设映射规则对子输入图像块进行第一映射处理,得到第一旋转图像块;
根据第二预设映射规则对第一旋转图像块进行第二映射处理,得到第二旋转图像块;
根据第一旋转图像块和第二旋转图像块,得到第一处理图像。
具体而言,本实施例首先对每个子输入图像块的四个顶点坐标进行第一映射处理,得到在第一旋转图像块在旋转图像中的四个顶点对应位置。请再参见图5,子输入图像块中的一像素点P(x,y)逆时针旋转α角度至P'(x',y')的位置,其坐标映射公式为:
在本实施例处理中,请再参见图6,在旋转的同时将子输入图像块同时放大M倍,考虑到第一旋转图像块与子输入图像块相比,中心点坐标发生了变化,假设子输入图像块放大后的中心点坐标为(xmiddle,ymiddle),第一旋转图像块中心点坐标为(xtarget,ytarget),则本实施例第一预设映射规则的第一映射公式为:
利用公式(2)第一预设映射规则的映射公式,将每块子输入图像块的四个顶点坐标映射到第一旋转图像块中的对应四个顶点位置。在确定了输入图像的分辨率和输出图像的放大倍数后,就确定了子输入图像块放大后的中心点坐标为(xmiddle,ymiddle)和第一旋转图像块中心点坐标(xtarget,ytarget),子输入图像块放大后的中心点坐标计算公式为:x坐标=x坐标轴上输入图像的分辨率*放大倍数/2,y坐标=y坐标轴上输入图像的分辨率*放大倍数/2,第一旋转图像块中心点坐标计算公式为: 例如,子输入图像块的起始坐标假定是左上角为(0,0),水平为x坐标轴,垂直为y坐标轴,对于分辨率为640*512的输入图像,若放大倍数为2倍,则子输入图像块放大后的中心点坐标为(640,512),第一旋转图像块中心点坐标为(820,820);若放大倍数为1倍时,子输入图像块放大后的中心点坐标为(320,256),第一旋转图像块中心点坐标为(410,410)。
本实施例对于分辨率为640*512的输入图像,根据放大倍数、旋转角度和第一预设映射规则进行第一映射处理,得到第一旋转图像块,具体为取32*32的子输入图像块,并四周扩展两行两列,即36*36子输入图像块,对于旋转放大后的第一旋转图像块大小为h*h,并且根据第一预设映射规则可以得到第一旋转图像块起始点的坐标,再根据第一旋转图像块起始点的坐标,从而确定在第一旋转图像块旋转放大后存储的起始点坐标。其中,h根据分块预设大小、旋转角度和放大倍数确定,具体本实施例h=放大倍数*分块预设大小的行或列取值*sin(90°-旋转角度)*2或是h=放大倍数*分块预设大小的行或列取值*cos(旋转角度)*2,分块的预设大小为四周没有扩展两行两列时块的大小,比如分辨率为640*512的输入图像,此时分块的预设大小为32*32,则分块预设大小的行或列取值为32,计算h是为了提高系统的处理速度,不必使每个第一旋转图像块都为h*h,减小了对第一旋转图像块的遍历时间。以2倍放大倍数45°的旋转角度为例,则旋转放大后的第一旋转图像块大小计算为:2*32*sin(45°)*2≈91,所以至少需要一个91*91大的范围才能放得下旋转放大后的第一旋转图像块,但是在DDR3的存储操作中,因为DDR3的存储是以8bit为单位,所以第一旋转图像块至少需要一个96*91大的范围,但在实际的操作过程中,因为一个像素为16bit,DDR3存储以8bit为单位,所以存储的起始点必须设置为16的整数倍,但是取96时,由于旋转后的图像的不确定范围,可能会丢失图像信息,所以本实施例对于第一旋转图像块行取用112,从而保证图像信息不丢失。可见,对于本实施例第一旋转图像块的大小由分块预设大小、旋转角度和放大倍数共同确定,对于第一旋转图像块的列根据上述h计算方法即可得到,而第一旋转图像块的行,因为考虑到DDR3的存储方式和保证图像存储的不丢失,需要在h计算的基础上进一步地进行如上类似112的取值分析。如果不按照DDR3的以8bit为单位的存储对齐,旋转放大后的第一旋转图像块之间将会发生扭曲。
本实施例对分块后的子输入图像块进行旋转与放大处理,其旋转和放大同时进行,并且都是在分块后的子输入图像块上进行的,这样不仅节省了FPGA上的缓存资源,提高了系统处理的速度,同时避免了旋转后再放大会使放大所操作的图像变大或放大后旋转会使旋转所操作的图像变大的情况,也改进了图像单一旋转处理或者单一放大处理的不足;本实施例同时旋转和放大处理,提高了输出图像的分辨率。
进一步地,根据第二预设映射规则对第一旋转图像块进行第二映射处理,得到第二旋转图像块。
具体而言,由于上述对第一旋转图像块进行了旋转放大处理,则第一旋转图像块的像素点可能不在子输入图像的范围内,导致旋转图像效果差,因此,本实施例提出了采用第二预设映射规则对第一旋转图像块的像素点进行确认,提高旋转图像的效果。为了保证以第二预设映射规则可以遍历到第一旋转图像块中的所有像素点,尤其边界上的图像尽量不丢失信息,本实施例进行了扩大范围处理。本实施例中扩大范围是将第二预设映射规则映射所得的对应四个顶点构成的四边形,分别向外取整。本实施例的第二预设映射规则的映射公式为:
在扩大范围后的第二旋转图像块区域内的每个像素点,利用公式(3)的第二预设映射规则的映射公式求解出第二旋转图像块对应的位置。
进一步地,根据第一旋转图像块和第二旋转图像块,得到处理图像块,包括:
利用第二预设映射规则计算第二旋转图像块中每个像素点的位置;
判断像素点是否为有效像素点,当像素点的位置在子输入图像块的范围内,则为有效像素点,保留像素点对应的第一旋转图像块中的像素点,得到第一处理图像,当像素点的位置不在子输入图像块的范围内,则为无效像素点,删除像素点对应的第一旋转图像块中的像素点,得到第一处理图像。
具体而言,本实施例上述第二预设映射规则最重要的是准确的确定第二旋转图像块中有效的像素点。根据第二预设映射规则得到第二旋转图像块中每个像素点的位置信息,判断该像素点是否为有效像素点,当该像素点的位置在子输入图像块的范围内,则为有效像素点,保留该像素点对应的第一旋转图像块中的像素点,当该像素点的位置不在子输入图像块的范围内,则为无效像素点,删除像素点对应的第一旋转图像块中的像素点。请再参见图7,如图虚线所示,利用第二预设映射规则映射后的像素点不在子输入图像块的范围内,则为无效像素点,如图实线所示,利用第二预设映射规则映射后的像素点在子输入图像块的范围内,则为有效像素点,进行如图2所示的像素第二映射处理,确定第一旋转图像块中的所有有效的像素点。
本实施例通过第二预设映射规则判断第一旋转图像块中像素点的有效性,保留有效像素点,对有效像素点进行后续的插值处理,减少了计算量,提高了FPGA处理速度,同时提高图像处理的分辨率。
进一步地,对处理图像块进行插值处理,得到子输出图像块,包括:
根据输入图像的分辨率和输出图像的放大倍数获取处理图像块中每个像素点的位置信息;
根据位置信息得到像素点对应第四存储器中的相邻像素点的像素值;
从第五存储器中获取子输入图像块的插值系数,根据相邻像素点的像素值和插值系数对处理图像块中的像素点进行插值处理,得到子输出图像块。
具体而言,请再参见图8,如图8所示的P像素点临近的16个相邻像素点,假设左上角为起始点坐标,从起始点坐标水平向右为x坐标轴的方向,从起始点坐标垂直向下为y坐标轴的方向,则根据第一预设映射规则,若得P像素点的坐标为P(u+x,v+y),其中,u、v为P像素点坐标的小数部分,而x、y为P像素点坐标的整数部分。用aij来表示4x4模板经16倍扩充的16个相邻像素点的像素值,i,j分别表示4x4模板内像素点的坐标,i,j取值分别1,2,3。经上述第一预设映射规则得到第一旋转图像块,对第一旋转图像块通过第二预设映射规则得到像素点均有效的第一旋转块图像,即处理图像块,对处理图像块中的每个像素点利用其周围4×4模板内的16个相邻像素点的像素值信息,对第一旋转图像块进行双三次插值运算。本实施例的三次插值的公式为:
其中,w为P像素点的坐标。本实施例已知P像素点的坐标为P(u+x,v+y),则根据公式(4)得a00像素点距离P像素点的距离为R(1+u,1+v),以此类推,可知,P像素点相对于aij像素点各行各列的系数为:
行:R10(1+u)、R20(u)、R30(1-u)、R40(2-u),
列:R01(1+v)、R02(v)、R03(1-v)、R04(2-v),
可以得到P像素点最终的系数表示为:Rij=Ri0R0j。
从而,待求P像素点的像素值为:
可见,本实施例对于每个像素点P的像素值的求解包括对其相邻像素点的像素值aij的求解,以及每个像素点相对于aij像素点各行各列的插值系数Rij的求解。
对于相邻像素点的像素值aij的求解,只需要找到其4x4模板内像素点的像素值。本实施例在上述子输入图像分块之前,预先将子输入图像的16倍扩充像素值aij存储于第四寄存器,因此需要确定该P像素点对应第四寄存器的4x4模板内像素值的存储地址,就可以找到像素值aij。
本实施例对于第四寄存器的存储地址ramaddr,计算公式为:
ramaddr=33yaddr+xaddr (6)
其中,xaddr和yaddr分别为P像素点在第四存储器的坐标。
例如,对于640×512分辨率的输入图像,一块36*36子输入图像块,四周的两行两列是扩充的,如图8阴影所示,所以对于(x0,y0)来说,是某个32*32子输入图像块的起始点坐标,那么,这个子输入图像块的x坐标轴的x边界范围为:x0-2到x0+33(因为x0也算一个像素点),同理y坐标轴的y边界范围为:y0-2到y0+33(因为y0也算一个像素点)。对于双三次插值,以P像素点为基点,假设黑色圆点坐标为点P(x,y),则P(x,y)在这个32*32的子输入图像块的坐标为(x%32,y%32),相对于36*36的子输入图像块的坐标为(x%32+2,y%32+2),在16倍扩充要取以P像素点为基点周围4x4模板的16个相邻像素点,P像素点始终在第二行第二列,则对应的以P像素点为基点的周围的16个相邻像素点的坐标为(x%32+2-1,y%32+2-1),即为(x%32+1,y%32+1)。则P像素点在x坐标轴和y坐标轴的坐标为:
其中,经过第二预设映射规则映射后的P像素点坐标不在32*32的子输入图像块范围内,包括在32*32的子输入图像块的左方或上方或是在32*32的子输入图像块的右方或下方,即:
对于上方:xaddr=0,x<x0;
对于左方:yaddr=0,y<y0;
对于右方:xaddr=32,x≥x0+32;
对于下方:yaddr=32,y≥y0+32。
综上所述,本实施例P像素点在第四存储器的坐标xaddr和yaddr最终的计算公式为:
其中,%是取余,(x0,y0)为P像素点的起始坐标。
对于插值系数Rij,为了提高整个系统的处理速度,在实现过程中,本实施例预先将插值系数Rij存储于FPGA中第五存储器,根据公式(2)计算的坐标值(u+x,v+y)包括小数部分(u,v)和整数部分(x,y),小数部分的u和v可以得到P像素点的相位,根据该相位在第五存储器中找到对应的插值系数Rij,直接提取插值系数Rij,并与对应的像素值aij根据公式(5)进行插值计算,从而得到P像素点的像素值,对该P像素点进行像素值的填充。其中,第五存储器为ROM存储器,插值系数Rij和输入图像无关,对于不同的输入图像存储于第五存储器的插值系数Rij相同。
需要说明的是,本实施例中旋转角度的正余弦值和插值系数Rij,都是采用ROM查找表的方式进行处理,从而简化了旋转放大、插值过程中的计算复杂度问题,提高了系统的处理速度。
本实施例在插值过程中采用双三次插值,相比较简单的双线性插值和最邻域插值,可以使图像边缘更加锐利,消除了旋转过程中引入的锯齿问题。
步骤3.2、将当前时刻得到的子输出图像块存储于第二存储器,上一时刻得到的子输出图像块存储于第三存储器中。
具体而言,本实施例将经旋转放大、插值处理后得到的子输出图像块存储于第二存储器和第三存储器,第二存储器存储的是当前时刻得到的子输出图像块,第三存储器存储的是上一时刻得到的子输出图像块,且第二存储器和第三存储器对子输出图像块存储时候采用的是分bank的方式,第二存储器和第三存储器存储均以8bit为单位,对于分辨率为640*512的输入图像,放大倍数为2、旋转角度为45°,旋转放大后的第一旋转图像块大小为112*h,则将112个像素点看作一行数据,第一行数据存到bank0的0行,第二行数据存到bank1的0行,第三行数据存到bank2的0行,…,第九行数据存到bank0的1行,第十行数据存到bank1的1行,以此类推,存完整个子输出图像块,这样的存储方式极大的提高了系统的工作效率,使得高速率的图像旋转放大得以实现。其中,第二存储器和第三存储器均设置在FPGA外部的DDR3缓存模块中,目的同第一寄存器,为了节省FPGA上的缓存资源,提高其图像处理速度。
综上所述,本实施例对子输入图像进行图像处理包括图像分块处理和图像旋转处理。图像分块处理保证了在FPGA上进行子输入图像旋转的效率,图像旋转处理保证了在高速视频图像处理过程中,能够实现子输入图像的任意角度的旋转,在旋转的同时能够进行实时的缩放,并达到子输入图像处理的高质量要求,解决了高速图像旋转放大过程中实时性不高、图像显示效果差等缺点。
步骤4、根据输出图像的分辨率,从第二存储器或第三存储器中获取子输出图像块,以得到输出图像,包括:
比较当前时刻输出图像的处理参数的任一处理参数与下一时刻输出图像的处理参数相对应的任一处理参数,若当前时刻任一处理参数和下一时刻相对应的任一处理参数均未发生变化,则根据输出图像的分辨率从第二存储器获取子输出图像块并输出子输出图像块,以得到输出图像,若当前时刻任一处理参数和下一时刻相应的任一处理参数发生改变,则根据输出图像的分辨率从第三存储器获取子输出图像块并输出子输出图像块,同时刷新第二存储器,以得到输出图像,其中,输出图像的处理参数包括输出图像的分辨率、放大倍数、旋转角度。
具体而言,本实施例对旋转放大、插值后的子输出图像块存储采用的是第二存储器和第三存储器两个存储器的方式。当输出图像的旋转角度、放大倍数、分辨率任一处理参数均未发生改变时,都是从第二存储器中获取子输出图像块;但当输出图像的旋转角度、放大倍数、分辨率任一处理参数发生改变时,切换第二存储器到第三存储器,从第三存储器中获取子输出图像块,并对第二存储器进行刷新操作,之后继续从第二存储器中获取自输出图像块。本实施例在图像的输出中,每次输出的子输出图像块除了所需要的旋转放大、插值后的图像外,其余显示区域均为黑色,直到子输入图像得到的所有子输入图像块进行如上图像处理后,得到所有的子输出图像块,并将所有子输出图像块输出,以得到最终显示的输出图像。其中,当输出图像的任一处理参数发生变化时,不对第二存储器进行刷新操作,比如输出图像的旋转角度由45°变为60°时,最终显示的画面会存在60°旋转的图像,这样45°旋转和60°旋转的两个旋转后的图像就会重合,画面就无法分清哪个是真正旋转后的图像,如果在一段时间内旋转角度不断的发生变化,最后的输出图像的画面肯定就无法分清哪个是需要的旋转图像画面。因此,本实施例在任一处理参数发生变化时,都需要及时刷新第二存储器存储的当前时刻的子输出图像块,同时切换第二存储器和第三存储器,输出第三存储器存储的子输出图像块,以确保前后输出的是同一旋转角度的输出图像。
综上所述,本实施例提供的图像处理方法,通过将输入图像先进行分块,然后再对分块后的图像进行旋转放大、插值处理,不再局限于对整幅输入图像的操作,使得图像处理方法在FPGA中更易实现,将图像处理方法移植到FPGA这一硬件平台上,能够实现图像的快速旋转,可以满足实时性要求,而且旋转后的效果很好;本实施例对输入图像在旋转的同时进行放大处理,并利用FPGA实现双三次插值处理,能够快速处理高速视频图像,不仅可以做到旋转放大的同步要求,而且可以有效的消除旋转后的锯齿效应;本实施例可以满足640×512@100Hz放大1倍或2倍、320×256@100Hz和160×128@100Hz放大1倍、2倍或4倍的视频图像,应用范围广泛,可以满足实时性要求。
请参见图9,图9为本发明实施例提供的一种图像处理装置的结构示意图。本实施例还提供了一种图像处理装置,该装置包括:
第一存储器,用于存储获取的输入图像集,输入图像集包括若干张子输入图像。
具体而言,本实施例通过相机采集输入图像集,然后通过Cameralink接口将相机采集的输入图像集存储到第一存储器中。其中,相机采集的输入图像可兼容640×512、320×256、160×128的分辨率,单像素值最大位深不超过16bit,本实施例主要处理图像为红外图像。
图像分块模块,连接第一存储器,用于根据输入图像的分辨率,从第一存储器中获取预设数量的子输入图像,对子输入图像进行分块处理,得到若干子输入图像块。
具体而言,本实施例图像分块模块包括图像分块和图像扩充两部分,在进行图像分块和图像扩充之前,需要根据输入图像的分辨率从第一存储器获取需要大小的子输入图像,如上所述对于分辨率为640*512的输入图像,取36行的输入图像,对于分辨率为320*256的输入图像,取20行的输入图像,对于分辨率为160*128的输入图像,取12行的输入图像,然后对子输入图像进行分块和图像扩充处理。图像扩充对子输入图像按照4×4模板的双三次插值特点扩充16倍的像素值后存储在第四存储器中,16倍扩充的像素值用于后续的图像旋转处理中的插值处理上;图像分块包括根据输入图像的分辨率对输入图像进行32×32像素点、16×16像素点或者8×8像素点的分块处理,保证图像在FPGA上的处理效率,同时为了保证在后续图像处理过程中可以利用到其周围像素信息,本实施例对输入的子输入图像四周各多扩展两行两列数据,输入图像进行36×36像素点、20×20像素点或者12×12像素点的分块处理。
图像旋转模块,连接图像分块模块,根据所要输出到的输出图像的放大倍数、旋转角度,对子输入图像块进行旋转放大、插值处理,得到子输出图像块。
具体而言,图像旋转模块根据输出图像的放大倍数和旋转角度对分块后得到的子输入图像块的四个顶点进行第一映射,确定旋转放大后的旋转图像块在旋转图像中的位置;再通过第二映射,对旋转放大后的旋转图像块的四个顶点从左上角依次遍历确定是否是子输入图像块中的像素点,从而确定旋转放大后的旋转图像块的有效像素点;在经第二映射确定旋转放大后的旋转图像块的有效像素点后,根据双三次插值,对旋转放大后的旋转图像块的有效像素点位置进行像素值填充,即确定旋转放大后图像每一个像素点的值。本实施例图像旋转模块的处理,不仅提高了FPGA处理速度,同时提高图像处理的分辨率。
第二存储器,连接图像旋转模块,用于存储当前时刻得到的经图像旋转模块处理的子输出图像块;第三存储器,连接图像旋转模块,用于存储上一时刻得到的经图像旋转模块处理的子输出图像块。
具体而言,本实施例第二存储器、第三存储器均存储是的将输入图像进行旋转放大、插值处理后的输出图像,存储的旋转放大、插值后的输出图像以分bank的方式的存储,对于第二映射后,不在输入图像范围内的旋转图像的像素点不会存储于第二存储器和第三存储器;而在输入图像范围内的旋转图像的像素点,才需要填充像素值后存储于第二和第三存储器中,这样保证第二存储器和第三存储器中存储的图像是有效图像。本实施例采用第二存储器和第三存储器两个存储器的方式,以确保前后输出的是同一旋转角度的输出图像。其中,本实施例第一存储器、第二存储器和第三存储器均设置在外部的DDR3缓存模块中,以节省FPGA上的缓存资源,提高图像处理速度。
图像输出模块,连接第二存储器、第三存储器,用于根据输出图像的分辨率,从第二存储器或第三存储器中获取子输出图像块,以得到输出图像。
具体而言,本实施例图像输出模块包括CameralinkMedium模式输出系统和SDI显示控制,其均主要是显示旋转放大、插值处理后的视频图像,其视频图像显示包括720p和1080p两种显示模式。其中,CameralinkMedium模式输出系统包括Cameralink Medium编码输出功能单元与电子消旋功能单元串行级联,与高清编码显示单元并行,高速数字视频传输通道将电子消旋功能单元输出的图像高速输出,Cameralink Medium编码功能单元输出具有帧有效、行有效和数据有效的信号,可输出10bit,4tap模式(标准),输出的时序格式、像素位宽和时钟频率均与前级输入图像相同,输出延时为1帧+4行;而SDI显示控制,包括HDMI显示控制,在输入图像经旋转放大、插值处理之后,将输出图像按照指定输出图像的放大倍数和输出图像的分辨率要求进行显示,目前可支持HDMI格式的显示,延时1帧+4行,主要做法是先生成相应的HDMI显示时序,提前4行从DDR3中的第二存储器中读取输出图像,把相应的像素填充进去即可。其中,提前4行读取输出图像是经过多次实验后得到的结论。目前,显示模式有720p和1080p两种,可通过命令控制模块控制显示的模式,显示模式的切换必须等到当前帧显示结束后再进行。
命令控制模块,连接图像分块模块、图像旋转模块、图像输出模块,用于输入输入图像的分辨率和输出图像的处理参数。
具体而言,本实施例中输出图像的处理参数包括输出图像的放大倍数、旋转角度和分辨率。输入图像的分辨率用于确定后续图像分块处理中分块图像的大小;输出图像的放大倍数用于确定输出图像的放大情况,提高图像的分辨率;输出图像的旋转角度用于确定输出图像的旋转情况,根据旋转角度进行图像处理,得到消旋的图像;输出图像的分辨率用于确定在显示模块呈现的图像信息。通过命令控制模块控制处理参数,使得输入不同分辨率的图像时,可以进行相应的旋转放大或是插值处理,提高了图像的分辨率。
刷新控制模块,连接命令控制模块、第二存储器、第三存储器,用于根据命令控制模块输入的输出图像的处理参数,刷新第二存储器、第三存储器。
具体而言,为保证旋转放大、插值后的图像能正确的显示,需要消除输出图像的旋转角度、放大倍数和分辨率任一参数变化之前的图像数据,本实施例将旋转放大、插值后的图像在外部存储模块DDR3的存储区进行分区,存储区包括第二存储器和第三存储器,当输出图像的旋转角度、放大倍数和分辨率任一参数变化时,从第二存储器切换到第三存储器的存储区域,并及时的对第二存储器的存储区域图像数据进行刷新操作,且为了保证输出图像的完整性,需要在当前帧处理完成后再进行存储区域的切换。
综上所述,本实施例的图像处理装置,通过将输入图像先存储于外部的DDR3缓存模块,减少了在FPGA上的存储资源,提高FPGA的处理速度;然后从DDR3缓存模块中获取输入图像并对输入图像进行分块处理,再对分块后的输入图像进行旋转放大、插值处理,不再局限于对整幅输入图像的操作,使得图像处理方法在FPGA中更易实现,将图像处理方法移植到FPGA这一硬件平台上,能够实现图像的快速旋转,而且旋转后的效果更好;本实施例对输入图像在旋转的同时进行放大处理,并利用FPGA实现双三次插值处理,能够快速处理高速视频图像,不仅可以做到旋转放大的同步要求,而且可以有效的消除旋转后的锯齿效应;本实施例利用FPGA可以并行执行的优点实现对输入图像的旋转和缩放处理,对于640×512@100Hz的视频图像,输出放大1倍或者2倍时会有1帧+4行的延迟,对于320×256@100Hz的视频图像,输出放大1倍、2倍或者4倍时会有1帧+4行的延迟,对于160×128@100Hz的视频图像,输出放大1倍、2倍或者4倍时会有1帧+4行的延迟,可以满足实时性的要求。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种图像处理方法,其特征在于,所述方法基于FPGA实现,包括:
获取输入图像集,并将所述输入图像集存储于第一存储器中,其中,所述输入图像集包括若干子输入图像;
根据输入图像的分辨率,从所述第一存储器中获取预设数量的所述子输入图像,并对所述子输入图像进行分块处理,得到若干子输入图像块;
根据所要输出的输出图像的放大倍数、旋转角度,对所述子输入图像块进行旋转放大、插值处理,得到子输出图像块,并将当前时刻得到的所述子输出图像块存储于第二存储器,上一时刻得到的所述子输出图像块存储于第三存储器中;
根据所述输出图像的分辨率,从所述第二存储器或所述第三存储器中获取所述子输出图像块,以得到所述输出图像。
2.根据权利要求1所述的方法,其特征在于,根据输入图像的分辨率,从所述第一存储器中获取预设数量的所述子输入图像并对所述子输入图像进行分块处理,得到若干子输入图像块,包括:
对预设数量的所述子输入图像进行预设大小的分块处理,得到若干所述子输入图像块。
3.根据权利要求2所述的方法,其特征在于,根据所要输出的输出图像的放大倍数、旋转角度,对所述子输入图像块进行旋转放大、插值处理,得到子输出图像块,包括:
根据所述输出图像的放大倍数、旋转角度对所述子输入图像块进行旋转放大处理,得到处理图像块;
对所述处理图像块进行插值处理,得到子输出图像块。
4.根据权利要求3所述的方法,其特征在于,根据所述输出图像的放大倍数、旋转角度对所述子输入图像块进行旋转放大处理,得到处理图像块,包括:
根据所述输出图像的放大倍数、旋转角度和第一预设映射规则对所述子输入图像块进行第一映射处理,得到第一旋转图像块;
根据第二预设映射规则对所述第一旋转图像块进行第二映射处理,得到第二旋转图像块;
根据所述第一旋转图像块和所述第二旋转图像块,得到所述处理图像块。
5.根据权利要求4所述的方法,其特征在于,根据所述第一旋转图像块和所述第二旋转图像块,得到所述处理图像块,包括:
利用所述第二预设映射规则得到所述第二旋转图像块中每个像素点的位置;
判断所述像素点是否为有效像素点,当所述像素点的位置在所述子输入图像块的范围内,则为有效像素点,保留所述像素点对应的第一旋转图像块中的像素点,得到处理图像块,当所述像素点的位置不在所述子输入图像块的范围内,则为无效像素点,删除所述像素点对应的第一旋转图像块中的像素点,得到处理图像块。
6.根据权利要求5所述的方法,其特征在于,对所述处理图像块进行插值处理,得到子输出图像块,包括:
根据所述输入图像的分辨率和所述输出图像的放大倍数得到所述处理图像块中每个像素点的位置信息;
根据所述位置信息得到所述像素点对应的第四存储器中的相邻像素点的像素值;
从第五存储器中获取所述子输入图像块的插值系数,根据所述相邻像素点的像素值和所述插值系数对所述处理图像块中的像素点进行插值处理,得到子输出图像块。
7.根据权利要求6所述的方法,其特征在于,所述像素点对应的第四存储器中的相邻像素点的像素值,包括:
对预设数量的所述子输入图像中每个像素点进行N2倍的扩充处理,得到N2个相邻像素点的像素值,N为大于0的整数,并将N2个所述相邻像素点的像素值存储于所述第四存储器中。
8.根据权利要求1所述的方法,其特征在于,根据所述输出图像的分辨率,从所述第二存储器或所述第三存储器中获取所述子输出图像块,以得到所述输出图像,包括:
比较当前时刻所述输出图像的处理参数的任一处理参数与下一时刻输出图像的处理参数相对应的任一处理参数,若所述当前时刻任一处理参数和所述下一时刻相对应的任一处理参数均未发生变化,则根据所述输出图像的分辨率从所述第二存储器获取所述子输出图像块并输出所述子输出图像块,以得到所述输出图像,若所述当前时刻任一处理参数和所述下一时刻相应的任一处理参数发生改变,则根据所述输出图像的分辨率从所述第三存储器获取所述子输出图像块并输出所述子输出图像块,同时刷新所述第二存储器,以得到所述输出图像,其中,所述输出图像的处理参数包括所述输出图像的分辨率、放大倍数、旋转角度。
9.一种图像处理装置,其特征在于,所述装置包括:
第一存储器,用于存储获取的所述输入图像集,所述输入图像集包括若干张子输入图像;
图像分块模块,连接所述第一存储器,用于根据所述输入图像的分辨率,从所述第一存储器中获取预设数量的所述子输入图像,对所述子输入图像进行分块处理,得到若干子输入图像块;
图像旋转模块,连接所述图像分块模块,根据所要输出到的所述输出图像的放大倍数、旋转角度,对所述子输入图像块进行旋转放大、插值处理,得到子输出图像块;
第二存储器,连接所述图像旋转模块,用于存储当前时刻得到的经所述图像旋转模块处理的所述子输出图像块;
第三存储器,连接所述图像旋转模块,用于存储上一时刻得到的经所述图像旋转模块处理的所述子输出图像块;
图像输出模块,连接所述第二存储器、所述第三存储器,用于根据所述输出图像的分辨率,从所述第二存储器或所述第三存储器中获取所述子输出图像块,以得到所述输出图像。
10.根据权利要求9所述的方法,其特征在于,所述装置还包括:
命令控制模块,连接所述图像分块模块、所述图像旋转模块、所述图像输出模块,用于输入所述输入图像的分辨率和所述输出图像的处理参数;
刷新控制模块,连接所述命令控制模块、所述第二存储器、所述第三存储器,用于根据所述命令控制模块输入的所述输出图像的处理参数,刷新所述第二存储器、所述第三存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910356718.7A CN110211039B (zh) | 2019-04-29 | 2019-04-29 | 一种图像处理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910356718.7A CN110211039B (zh) | 2019-04-29 | 2019-04-29 | 一种图像处理方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110211039A true CN110211039A (zh) | 2019-09-06 |
CN110211039B CN110211039B (zh) | 2021-03-23 |
Family
ID=67786726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910356718.7A Active CN110211039B (zh) | 2019-04-29 | 2019-04-29 | 一种图像处理方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110211039B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112601030A (zh) * | 2020-12-09 | 2021-04-02 | 航天科工火箭技术有限公司 | 一种电子消像旋方法及设备 |
CN113691741A (zh) * | 2021-07-20 | 2021-11-23 | 上海安路信息科技股份有限公司 | 视频图像旋转的显示方法及装置 |
CN114913076A (zh) * | 2022-07-19 | 2022-08-16 | 成都智明达电子股份有限公司 | 一种图像缩放旋转方法、装置、系统及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582157A (zh) * | 2009-03-06 | 2009-11-18 | 中山大学 | 一种基于相邻像素差异的自适应空域隐写方法 |
CN101797849A (zh) * | 2010-01-07 | 2010-08-11 | 浙江大学 | 基于FPGA的数据块按bit旋转装置及方法 |
CN102194241A (zh) * | 2011-04-28 | 2011-09-21 | 西安交通大学 | 基于互联网的艺术拼图系统设计方法 |
JP2012169780A (ja) * | 2011-02-10 | 2012-09-06 | Ricoh Co Ltd | 撮像装置及び画像補正方法 |
CN102915521A (zh) * | 2012-08-30 | 2013-02-06 | 中兴通讯股份有限公司 | 一种移动终端图像处理方法及装置 |
CN106530209A (zh) * | 2016-09-26 | 2017-03-22 | 深圳市振华微电子有限公司 | 一种基于fpga的图像旋转方法及装置 |
CN107085834A (zh) * | 2017-04-25 | 2017-08-22 | 西安工程大学 | 一种基于图像旋转和分块奇异值分解的图像去噪方法 |
CN108681707A (zh) * | 2018-05-15 | 2018-10-19 | 桂林电子科技大学 | 基于全局和局部特征融合的大角度车型识别方法和系统 |
-
2019
- 2019-04-29 CN CN201910356718.7A patent/CN110211039B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582157A (zh) * | 2009-03-06 | 2009-11-18 | 中山大学 | 一种基于相邻像素差异的自适应空域隐写方法 |
CN101797849A (zh) * | 2010-01-07 | 2010-08-11 | 浙江大学 | 基于FPGA的数据块按bit旋转装置及方法 |
JP2012169780A (ja) * | 2011-02-10 | 2012-09-06 | Ricoh Co Ltd | 撮像装置及び画像補正方法 |
CN102194241A (zh) * | 2011-04-28 | 2011-09-21 | 西安交通大学 | 基于互联网的艺术拼图系统设计方法 |
CN102915521A (zh) * | 2012-08-30 | 2013-02-06 | 中兴通讯股份有限公司 | 一种移动终端图像处理方法及装置 |
CN106530209A (zh) * | 2016-09-26 | 2017-03-22 | 深圳市振华微电子有限公司 | 一种基于fpga的图像旋转方法及装置 |
CN107085834A (zh) * | 2017-04-25 | 2017-08-22 | 西安工程大学 | 一种基于图像旋转和分块奇异值分解的图像去噪方法 |
CN108681707A (zh) * | 2018-05-15 | 2018-10-19 | 桂林电子科技大学 | 基于全局和局部特征融合的大角度车型识别方法和系统 |
Non-Patent Citations (1)
Title |
---|
赵小明等: "LED显示屏虚拟组合像素的分析", 《西安电子科技大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112601030A (zh) * | 2020-12-09 | 2021-04-02 | 航天科工火箭技术有限公司 | 一种电子消像旋方法及设备 |
CN113691741A (zh) * | 2021-07-20 | 2021-11-23 | 上海安路信息科技股份有限公司 | 视频图像旋转的显示方法及装置 |
CN114913076A (zh) * | 2022-07-19 | 2022-08-16 | 成都智明达电子股份有限公司 | 一种图像缩放旋转方法、装置、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110211039B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110211039A (zh) | 一种图像处理方法及其装置 | |
CN102460503B (zh) | 显示源图像的变形版本的设备和方法 | |
CN106683173A (zh) | 一种基于邻域块匹配提高三维重建点云稠密程度的方法 | |
CN102436669A (zh) | 二维矢量地图绘制方法 | |
CN105678683A (zh) | 一种三维模型的二维存储方法 | |
CN111861883B (zh) | 基于同步积分surf算法的多路视频拼接方法 | |
JP2015122614A (ja) | 画像補正装置、及び画像補正方法、プログラム | |
US5621866A (en) | Image processing apparatus having improved frame buffer with Z buffer and SAM port | |
CN105678682A (zh) | 一种基于fpga的二值图像连通区域信息快速获取系统及方法 | |
CN104796649B (zh) | 一种三维投影的方法及装置 | |
CN107464258A (zh) | 一种从图像中提取三维平面的方法 | |
CN108492243A (zh) | 一种基于块处理的图像旋转装置、系统和方法 | |
CN109146793B (zh) | 一种流水线式图像色度格式转换缩放旋转叠加的系统 | |
CN105516669B (zh) | 一种机载显示装置及方法 | |
JP2882465B2 (ja) | 画像生成方法およびその装置 | |
Skarlatos | Orthophotograph production in urban areas | |
CN107509067A (zh) | 一种高速高质量的自由视点图像合成方法 | |
DE60004323T2 (de) | Verfahren und vorrichtung zum streck-blocktransfer (stretch blitting) mit einem 3d pipeline prozessor | |
EP0222638A1 (fr) | Dispositif d'affichage graphique | |
CN106558021A (zh) | 基于超分辨率技术的视频增强方法 | |
CN107908379B (zh) | 一种显示超大页面数字出版原图的方法 | |
CN108088441A (zh) | 一种星敏感器星点图像在轨实时下传系统及方法 | |
CN109873954A (zh) | 一种基于FPGA实现Bayer阵列彩色恢复方法 | |
Wang et al. | Omnidirectional Image Super-resolution via Bi-projection Fusion | |
JPS62533B2 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |