CN110413805B - 一种图像存储方法、装置、电子设备及存储介质 - Google Patents
一种图像存储方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110413805B CN110413805B CN201810380171.XA CN201810380171A CN110413805B CN 110413805 B CN110413805 B CN 110413805B CN 201810380171 A CN201810380171 A CN 201810380171A CN 110413805 B CN110413805 B CN 110413805B
- Authority
- CN
- China
- Prior art keywords
- preset
- pixel
- pixel data
- line
- corrected image
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012937 correction Methods 0.000 claims abstract description 107
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 75
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003702 image correction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 description 14
- 241001125929 Trisopterus luscus Species 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 239000003550 marker Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0007—Image acquisition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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/80—Camera processing pipelines; Components thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明实施例提供了一种图像存储方法、装置、电子设备及存储介质,该方法中,获取扫描区域的预设部分区域所扫描得到的像素数据作为第一像素数据并存储至存储空间;采用预设校正算法对第一像素数据进行校正得到第二像素数据并存储至存储空间;判断存储空间的剩余空间满足预设条件时,获取扫描区域的剩余区域所扫描得到的像素数据作为第三像素数据并存储至存储空间,剩余区域的扫描模式为预设第二扫描模式;采用预设校正算法对第三像素数据进行校正得到第四像素数据并存储至存储空间。本发明中,由于采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量,减小校正前图像的大小,从而提高了图像存储的成功率。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种图像存储方法、装置、电子设备及存储介质。
背景技术
由于光学采集器具有能承受一定程度温度变化、稳定性好和成本相对较低的优点,使其已经广泛应用于公共安全技术领域。
但是,由于光学采集器受光学成像机理的影响,所扫描得到的图像带有梯形畸变,这给后期的识别工作造成了一定困难。因此,为了消除这种梯形畸变产生的不良影响,在采集并存储扫描得到的图像后,可以对扫描得到的图像进行校正,得到校正后的图像并存储,例如:通过光学采集器扫描得到畸变的指纹图像,存储指纹图像,并对指纹图像进行校正并存储。
由于存储扫描得到的图像以及校正后的图像需要耗费存储空间,当电子设备的存储空间较小时,将无法同时对扫描得到的图像以及校正后图像进行存储。
发明内容
本发明实施例的目的在于提供一种图像存储方法、装置、电子设备及存储介质,以提高图像存储的成功率。具体技术方案如下:
获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;
采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;
判断所述存储空间的剩余空间是否满足预设条件;
如果是,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;
采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
可选的,确定所述扫描区域的预设部分区域的过程,包括:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
可选的,所述校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,所述预设公式为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
可选的,所述基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域的步骤,包括:
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的起始行像素的行标记,确定所述扫描区域的预设部分区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的结束行像素的行标记,确定所述扫描区域的预设部分区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的起始列像素的列标记,确定所述扫描区域的预设部分区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的结束列像素的列标记,确定所述扫描区域的预设部分区域的结束列像素的列标记。
可选的,所述采用预设校正算法对所述第一像素数据进行校正得到第二像素数据的步骤,包括:
针对所述预设校正后图像中预设部分区域中的每个像素点,在所述扫描区域的预设部分区域中,确定与所述每个像素点对应的目标像素点,以及确定距离所述目标像素点预设距离的预设数量个参考像素点;
基于所述预设数量个参考像素点的像素数据,利用双线性差值算法计算所述每个像素点的像素数据,作为第二像素数据,其中,所述像素数据包括像素值和像素位置。
可选的,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,包括:
获取所述剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储所述第五像素数据所占用的第一空间,以及预估存储采用所述预设校正算法对所述第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,所述剩余区域的扫描模式为所述预设第一扫描模式;
判断所述存储空间的剩余空间是否小于所述第一空间和所述第二空间之和;
如果是,确定所述存储空间的剩余空间满足预设条件。
可选的,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,包括:
判断所述预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数;
如果是,确定所述存储空间的剩余空间满足预设条件。
可选的,当所述存储空间的剩余空间不满足预设条件时,所述方法还包括:
获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储所述第七像素数据至所述存储空间,其中,所述剩余区域的扫描模式为预设第一扫描模式;
采用所述预设校正算法对所述第七像素数据进行校正得到第八像素数据,并存储所述第八像素数据至所述存储空间。
可选的,确定所述剩余区域的过程,包括:
基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
可选的,所述基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域的步骤,包括:
基于所述行标记对应关系、所述预设校正后图像中预设部分区域的起始行像素的行标记以及所述预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
一种图像校正装置,所述装置包括:
图像抓取模块,用于扫描并抓取图像;
处理器,用于获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;判断所述存储空间的剩余空间是否满足预设条件;如果是,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
可选的,所述处理器包括:
第一像素数据获取模块,用于获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;
第二像素数据确定模块,用于采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;
判断模块,用于判断所述存储空间的剩余空间是否满足预设条件,如果是,触发第三像素数据获取模块;
所述第三像素数据获取模块,用于获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;
第四像素数据确定模块,用于采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
可选的,所述装置还包括第一确定模块,所述第一确定模块用于确定所述扫描区域中预设部分区域,所述第一确定模块,具体用于:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
可选的,所述校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,所述预设公式为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
可选的,所述第一确定模块,包括:
第一起始行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的起始行像素的行标记,确定所述扫描区域的预设部分区域的起始行像素的行标记;
第一结束行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的结束行像素的行标记,确定所述扫描区域的预设部分区域的结束行像素的行标记;
第一起始列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的起始列像素的列标记,确定所述扫描区域的预设部分区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
第一结束列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的结束列像素的列标记,确定所述扫描区域的预设部分区域的结束列像素的列标记。
可选的,所述第二像素数据确定模块,包括:
目标像素点确定单元,用于针对所述预设校正后图像中预设部分区域中的每个像素点,在所述扫描区域的预设部分区域中,确定与所述每个像素点对应的目标像素点,以及确定距离所述目标像素点预设距离的预设数量个参考像素点;
第二像素数据确定单元,用于基于所述预设数量个参考像素点的像素数据,利用双线性差值算法计算所述每个像素点的像素数据,作为第二像素数据,其中,所述像素数据包括像素值和像素位置。
可选的,所述判断模块,包括:
预估单元,用于获取所述剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储所述第五像素数据所占用的第一空间,以及预估存储采用所述预设校正算法对所述第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,所述剩余区域的扫描模式为所述预设第一扫描模式;
空间判断单元,用于判断所述存储空间的剩余空间是否小于所述第一空间和所述第二空间之和,如果是,确定所述存储空间的剩余空间满足预设条件。
可选的,所述判断模块,具体用于:
判断所述预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数,如果是,确定所述存储空间的剩余空间满足预设条件。
可选的,所述装置还包括:
第七像素数据获取模块,用于当所述存储空间的剩余空间不满足预设条件时,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储所述第七像素数据至所述存储空间,其中,所述剩余区域的扫描模式为预设第一扫描模式;
第八像素数据确定模块,用于采用所述预设校正算法对所述第七像素数据进行校正得到第八像素数据,并存储所述第八像素数据至所述存储空间。
可选的,所述装置还包括第二确定模块,所述第二确定模块用于确定所述剩余区域,所述第二确定模块,具体用于:
基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
可选的,所述第二确定模块,包括:
第二起始行像素行标记确定单元,用于基于所述行标记对应关系、所述预设校正后图像中预设部分区域的起始行像素的行标记以及所述预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记;
第二结束行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记;
第二起始列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
第二结束列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
一种电子设备,包括处理器和存储器,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现上述任一所述的方法步骤。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
本发明实施例中,获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储第一像素数据至存储空间,其中,预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对第一像素数据进行校正得到第二像素数据,并存储第二像素数据至存储空间;判断存储空间的剩余空间是否满足预设条件;如果是,获取扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储第三像素数据至存储空间,其中,剩余区域为扫描区域中除预设部分区域以外的区域,剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量;采用预设校正算法对第三像素数据进行校正得到第四像素数据,并存储第四像素数据至存储空间。本发明中,在存储对预设部分区域所扫描得到的第一像素数据以及对第一像素数据进行校正后的第二像素数据后,判断剩余存储空间是否满足预设条件,并在是的情况下,获取扫描区域的剩余区域所扫描得到的第三像素数据,并存储第三像素数据以及对第三像素数据校正后的第四像素数据,由于剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量,因此,与现有的方法相比,采用本发明实施例的方案能够减小扫描得到的图像的大小,即校正前图像的大小,从而减少了由于存储空间不足造成的图像存储失败的情况的发生,提高了图像存储的成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用场景示意图;
图2为本发明实施例提供的像平面V与校正图像平面W的示意图;
图3为本发明实施例提供的梯形畸变示意图;
图4为本发明实施例提供的图像存储方法的第一种流程示意图;
图5为本发明实施例提供的确定扫描区域的预设部分区域的流程示意图;
图6为本发明实施例提供的确定第二像素数据的流程示意图;
图7为本发明实施例提供的确定的目标像素点以及参考像素点的示意图;
图8为本发明实施例提供的判断存储空间的剩余空间是否满足预设条件的流程示意图;
图9为本发明实施例提供的确定剩余区域的流程示意图;
图10为本发明实施例提供的图像存储方法的第二种流程示意图;
图11为本发明实施例提供的图像存储装置的结构示意图;
图12为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决相关技术问题,本发明实施例提供了一种图像存储方法、装置、电子设备及存储介质。
为了更清楚的理解方案,下面首先对本发明实施例的应用场景进行介绍:
参见图1,图像传感器所要扫描的物体所在的平面为物平面,用U表示,图像传感器设置有扫描区域,用于对物体进行扫描得到像素数据,像素数据包括像素位置和像素值,图像传感器所扫描得到的物体图像所在的平面为像平面,用V表示,对像平面中的物体图像进行校正后的校正后图像所在的平面为校正图像平面,用W表示。
参见图2,在像平面V中建立像平面坐标系,设位于像平面坐标系的坐标原点的像素的像素中心的坐标为(1,1),像平面坐标系的横坐标用x表示,且x=1,2,……,x0,纵坐标用y表示,且y=1,2,……,y0。对应的,在校正图像平面W中建立校正平面坐标系,设位于校正平面坐标系的坐标原点的像素的像素中心的坐标为(1,1),校正平面坐标系的横坐标用i表示,且i=1,2,……,i0,纵坐标用j表示,且j=1,2,……,j0。
为了对像平面V中的物体图像进行校正,得到校正图像平面W中的校正后图像,需要建立像平面V与校正图像平面W之间的映射关系,像平面V与校正图像平面W之间的映射为双向映射,也就是说:像平面V中的图像可以映射至校正图像平面W中,校正图像平面W中的图像可以映射至像平面V中,建立该映射关系的过程为:
1、建立像平面坐标系的中线与校正平面坐标系的中线的对应关系。
继续参见图2,像平面坐标系的中线与校正平面坐标系的中线是相互映射关系,像平面坐标系的中线的横坐标用m表示,校正平面坐标系的中线的横坐标用c表示,也就是说:像平面坐标系中的横坐标为m的中线映射至校正平面坐标系中为横坐标为c的中线。
2、建立像平面坐标系与校正平面坐标系之间行像素的行标记对应关系。
继续参见图2,对于校正平面坐标系中的第j行像素,假设第j行像素中心连线映射至像平面坐标系中为第j‘行像素中心连线。
如果第j‘行像素中心连线处于第y行像素中心连线和第y+1行像素中线连线之间,其中,包括第j‘行像素中心连线处于第y行像素中心连线的情况,则校正平面坐标系中的第j行像素与像平面坐标系中的第y行像素对应,即第j行像素的行标记与第y行像素的行标记对应,并将该对应关系存储至数组JToY中。其中,JToY为行标记对应关系,JToY[j]表示像平面坐标系中与校正平面坐标系中的第j行像素的行标记对应的行像素的行标记,数组JToY中元素的数量为j0个。
3、建立像平面坐标系与校正平面坐标系之间行像素的间距对应关系。
第j‘行像素中心连线与第y+1行像素中心连线的距离为dyj,也就是第j行像素与dyj对应,并将该对应关系存储至数组DY中。其中,DY[j]表示像平面坐标系中与校正平面坐标系中的第j行像素对应的距离,数组DY中元素的数量为j0个,且校正平面坐标系中的每行像素对应的距离不一定相同。
4、建立像平面坐标系与校正平面坐标系之间行像素的缩放对应关系。
参见图3,根据梯形畸变原理,像平面坐标系中任意一个底边与像平面坐标系的横轴平行且关于中线m对称的梯形,映射至校正平面坐标系中为一个一边与校正平面坐标系的横轴平行且关于中线c对称的矩形;校正平面坐标系中任意一个有一边与校正平面坐标系的横轴平行且关于中线c对称的矩形,映射至像平面坐标系中为一个底边与像平面坐标系的横轴平行且关于中线m对称的梯形。
一般由于内存大小以及使用上的限制等因素,所获得的像平面坐标系中物体图像不会占满整个像平面坐标系,将物体图像映射至校正平面坐标系中得到的校正后图像也不会占满整个校正平面坐标系,因此,继续参见图3,本文中在校正平面坐标系中定义一预设校正后图像,该预设校正后图像为一矩形区域,预设校正后图像的宽度w,预设校正后图像的高度为h,该预设校正后图像的图像像素数为:w×h,该预设校正后图像与校正平面坐标系的纵轴平行的对称轴与校正平面坐标系的中线重合。
假设该预设校正后图像的起始行像素的行标记为jTop,该预设校正后图像的高度为h,则结束行像素的行标记为jBot,其中,jBot=jTop+h-1。
该预设校正后图像映射至像平面坐标系中为一梯形区域,该梯形区域的起始行像素的行标记为yTop,该梯形区域的结束行像素的行标记为yBot,其中,yTop=JtoY[jTop],yBot=JtoY[jBot]+1。且yTop与yBot两行像素之间的所有像素以及yTop行像素、yBot行像素包含了所有需要用来校正的物体图像的所有像素。
由于梯形畸变的存在,校正平面坐标系中长度相同的线段映射至像平面坐标系中为长度不同的线段,因此,校正平面坐标系中的每行像素对应有缩放系数,将校正平面坐标系中的每行像素与缩放系数的对应关系存储至数组Scale中。其中,Scale为缩放系数,Scale[j]表示像平面坐标系中与校正平面坐标系中的预设校正后图像的第j行像素所在的线段对应的线段,数组JToY中元素的数量为j0个。
为了减少相关技术中由于存储空间不足造成的图像存储失败的情况的发生,本发明实施例中,分两次“获取图像-存储图像-校准图像-存储图像”。扫描区域包括预设部分区域以及除预设部分区域以外的剩余区域,第一次获取的是预设部分区域的第一像素数据,第二次获取的是剩余区域的第三像素数据,由此,通过两次获取,完整的获取了扫描区域所扫描得到的图像。
其中,预设部分区域为扫描区域中,与预设校正后图像中的预设部分区域对应的梯形区域,且预设校正后图像中预设部分区域的起始行像素即为预设校正后图像的起始行像素,预设校正后图像中预设部分区域的宽度即为预设校正后图像的宽度w。
本发明实施例中分两次“获取图像-存储图像-校准图像-存储图像”的过程为:获取扫描区域中预设部分区域所扫描得到的第一像素数据并存储第一像素数据-对第一像素数据进行校正得到第二像素数据并存储第二像素数据-获取除预设部分区域外的剩余区域所扫描得到的第三像素数据并存储第三像素数据-对第三像素数据进行校正得到第四像素数据并存储第四像素数据。
下面首先对本发明实施例提供的一种图像存储方法进行介绍。
如图4所示,本发明实施例提供的一种图像存储方法,该方法可以包括:
S101:获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储第一像素数据至存储空间,其中,预设部分区域的扫描模式为预设第一扫描模式。
为了对扫描区域所扫描得到的图像进行校正,在确定了像平面V与校正图像平面W之间的映射关系后,需要确定扫描区域中预设部分区域。
其中,确定扫描区域的预设部分区域的过程,可以包括:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定扫描区域的预设部分区域;
其中,校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
需要说明的是,由于校正后图像位于校正平面坐标系中,待校正图像位于像平面坐标系中,因此,校正后图像与待校正图像之间行像素的行标记对应关系即为像平面坐标系与校正平面坐标系之间行像素的行标记对应关系,校正后图像行像素对应的缩放系数即为像平面坐标系与校正平面坐标系之间行像素的缩放对应关系。
由于校正后图像与待校正图像之间行像素存在对应关系,因此,基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,即可确定与校正平面坐标系中的预设校正后图像中预设部分区域对应的像平面坐标系中的扫描区域的预设部分区域。
示例性的,校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,预设公式可以为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
在一种实现方式中,参见图5,上述基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定扫描区域的预设部分区域可以包括:
S201:基于行标记对应关系以及预设校正后图像中预设部分区域的起始行像素的行标记,确定扫描区域的预设部分区域的起始行像素的行标记。
为了确定扫描区域的预设部分区域,需要确定该扫描区域的预设部分区域的起始行、结束行、起始列和结束列,当然,也可以确定该扫描区域的预设部分区域的起始行、高度、起始列和宽度,这都是可以的,可以确定扫描区域的预设部分区域的方式有多种,下面对通过确定该扫描区域的预设部分区域的起始行、结束行、起始列和结束列的方式确定扫描区域的预设部分区域进行介绍。
由于校正平面坐标系中的第j行像素的行标记与像平面坐标系中第y行像素的行标记的对应关系存储在数组JToY中,因此,可以通过下述公式确定扫描区域的预设部分区域的起始行像素的行标记:
T1=JtoY[jTop]
其中,T1为扫描区域的预设部分区域的起始行像素的行标记,JtoY为行标记对应关系,jTop为预设校正后图像中预设部分区域的起始行像素的行标记。
由于预设校正后图像中预设部分区域的起始行像素即为预设校正后图像的起始行像素,且预设校正后图像为已知的,因此,预设校正后图像中预设部分区域的起始行像素的行标记为jTop。
S202:基于行标记对应关系以及预设校正后图像中预设部分区域的结束行像素的行标记,确定扫描区域的预设部分区域的结束行像素的行标记。
类似的,通过下述公式确定扫描区域的预设部分区域的结束行像素的行标记:
TInt=JtoY[jInt]+1
其中,TInt为扫描区域的预设部分区域的结束行像素的行标记,JtoY为行标记对应关系,jInt为预设校正后图像中预设部分区域的结束行像素的行标记。
下面介绍确定预设校正后图像中预设部分区域的结束行像素的行标记jInt的方法:
由于在图像传感器扫描得到了物体图像之后,需要将物体图像存储至存储空间,且对物体图像进行校正后得到的校正后图像也要存储至存储空间,因此,本发明实施例中假设用于存储图像的存储空间的大小为常数ImgBytes字节。
设置两个以1字节为步长的指针pIn和pOut,其中,pIn用于标记图像传感器扫描的图像在存储空间中存放位置的首地址,pOut用于标记对物体图像进行校正后得到的校正后图像在存储空间中存放位置的首地址。
并且,在未进行第一次图像扫描时,pOut指向存储空间的起始地址的位置,pIn指向存储空间的pOut+GapBytes的位置,其中,GapBytes是pOut和pIn之间的位置差(以字节计)。由于如果不设GapBytes,将有可能导致在校正图像的过程中,将未校正的扫描区域覆盖,此时,将无法完成图像的校正,因此,设置了GapBytes避免了图像的覆盖,保证校正的顺利进行。
示例性的,通过以下方式确定GapBytes:
设GapBytes=w
对j=jTop,jTop+1,…,jBot循环执行以下步骤:
如果JtoY[j]==JtoY[j+1],则GapBytes=GapBytes+w
其中,GapBytes是pOut和pIn之间的位置差,w为预设校正后图像中预设部分区域的宽度,jTop为预设校正后图像中预设部分区域的起始行像素的行标记,jBot为预设校正后图像的结束行像素的行标记,j为预设校正后图像的第j行像素,JtoY为行标记对应关系。
确定预设校正后图像中预设部分区域的结束行像素的行标记的方式有多种,包括但不限于以下几种方式:
第一种方式:
通过以下公式计算预设校正后图像中预设部分区域的结束行像素的行标记:
Width(jInt)×(yInt-yTop+1)
=Width(jInt)×(JtoY[jInt]+1-JtoY[jTop]+1)≤ImgBytes-GapBytes
上式中,Width(jInt)=R(jInt)-L(jInt)+1
L(jInt)=max(1,A1)
A1=floor(m-Scale[jInt]*(c-a))
R(jInt)=min(x0,B1+1)
B1=floor(m+Scale[jInt]*(b-c))+1
其中,Width(jInt)为预设校正后图像中预设部分区域的结束行像素映射至像平面坐标系中的行像素的宽度,jInt为预设校正后图像中预设部分区域的结束行像素的行标记,yInt为扫描区域的预设部分区域的结束行像素的行标记,yTop为扫描区域的预设部分区域的起始行像素的行标记,JtoY为行标记对应关系,jTop为预设校正后图像中预设部分区域的起始行像素的行标记,ImgBytes-GapBytes为用于存放扫描区域所扫描得到的图像和校正后图像的存储空间的大小,R(jInt)为扫描区域的预设部分区域的结束列像素的列标记,L(jInt)为扫描区域的预设部分区域的起始列像素的列标记,floor为向下取整函数,即floor(k)为不大于k的最大整数,Scale为缩放系数,A1为最邻近第一左侧交点像素的横坐标,A1为整数,第一左侧交点像素为扫描区域的预设部分区域的结束行像素的像素中心连线与扫描区域的两个交点像素中横坐标最小的交点像素,B1为最邻近第一右侧交点像素的横坐标,B1为整数,第一右侧交点像素为扫描区域的预设部分区域的结束行像素的像素中心连线与扫描区域的两个交点像素中横坐标最大的交点像素,x0为像平面坐标系的最大横坐标对应的列像素,m为预设校正后图像与纵轴平行的对称轴映射至扫描区域中的列像素的列标记,c为预设校正后图像与纵轴平行的对称轴所在列像素的列标记,a为预设校正后图像的起始列像素的列标记,b为预设校正后图像的结束列像素的列标记。
第二种方式:通过二分搜索方法确定预设校正后图像中预设部分区域的结束行像素的行标记。
二分搜索方法的过程为:
计算预设校正后图像中预设部分区域的高度:
h1=jInt-jTop+1
其中,h1为预设校正后图像中预设部分区域的高度,jInt为预设校正后图像中预设部分区域的结束行像素的行标记,jTop为预设校正后图像中预设部分区域的起始行像素的行标记。
由于jTop为已知量,因此,h1的值是关于jTop的值非严格单调递减的。因此,为了求解jInt,需要确定h1。
由于在预设校正后图像中预设部分区域的宽度w和存储空间的大小ImgBytes为已知的情况下,h1Max与h1Min也是固定值,h1Max为h1能取到的最大值,h1Min为h1能取到的最小值,由于h1的值在h1Max与h1Min之间,因此,可以通过以下方式确定预设校正后图像中预设部分区域的结束行像素的行标记:
jInt1=jTop+h1Min-1
jInt2=jTop+h1Max
其中,jInt1小于或等于jInt可能取到的最小值,jInt2大于jInt可能取到的最大值。
对i=1,2,…,j0,循环执行以下步骤:
jInt=(jInt1+jInt2)/2
yInt=JtoY[jInt]+1
如果Width(jInt)×(yInt-yTop+1)>ImgBytes-GapBytes
则:jInt2=jInt
否则:jInt1=jInt
如果jInt1>=jInt2-1:则jInt=jInt1终止循环
其中,i为预设校正后图像的第i列像素,j0为校正平面坐标系的最大纵坐标对应的行像素,yInt为扫描区域的预设部分区域的结束行像素的行标记,yTop为扫描区域的预设部分区域的起始行像素的行标记,JtoY为行标记对应关系,Width(jInt)为预设校正后图像中预设部分区域的结束行像素映射至像平面坐标系中的行像素的宽度,ImgBytes-GapBytes为用于存放扫描区域所扫描得到的图像和校正后图像的存储空间的大小。
由此,可以计算出预设校正后图像中预设部分区域的结束行像素的行标记。
示例性的,在预设校正后图像中预设部分区域的宽度w和存储空间的大小ImgBytes为已知的情况下,可以通过以下公式计算h1Max与h1Min与:
设h1Max=j0
对i=1,2,…,h循环执行以下步骤:
如果
(JtoY[i]+1-JtoY[1]+1)×floor(Scale[i]×w+2)≤ImgBytes-GapBytes
且(JtoY[i+1]+1-JtoY[1]+1)×floor(Scale[i+1]×w+2)>Im gBytes-GapBytes
则:h1Max=i退出循环
设h1Min=0
对i=1,2,…,h循环执行以下步骤:
如果(JtoY[j0-h+i]+1-JtoY[j0-h+1]+1)×floor(Scale[j0-h+i]×w+2)≤ImgBytes-GapBytes
且(JtoY[j0-h+i+1]+1-JtoY[j0-h+1]+1)×floor(Scale[j0-h+i+1]×w+2)>ImgBytes-GapBytes
则:h1Min=i退出循环。
其中,h1Max为h1能取到的最大值,h1Min为h1能取到的最小值,j0为校正平面坐标系的最大纵坐标对应的行像素,i为预设校正后图像的第i列像素,h为预设校正后图像的高度,JtoY为行标记对应关系,floor为向下取整函数,w为预设校正后图像中预设部分区域的宽度,Scale为缩放系数。
S203:基于缩放系数、预设校正后图像中预设部分区域的结束行像素的行标记、预设校正后图像中预设部分区域的宽度、预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及预设校正后图像中预设部分区域的起始列像素的列标记,确定扫描区域的预设部分区域的起始列像素的列标记,其中,纵轴为预设校正后图像所在坐标系的纵轴。
通过以下公式计算扫描区域的预设部分区域的起始列像素的列标记:
L1=max(1,A1)
A1=floor(m-Scale[jInt]*(c-a))
其中,L1为扫描区域的预设部分区域的起始列像素的列标记,floor为向下取整函数,即floor(k)为不大于k的最大整数,Scale为缩放系数,jInt为预设校正后图像中预设部分区域的结束行像素的行标记,A1为最邻近第一左侧交点像素的横坐标,A1为整数,第一左侧交点像素为扫描区域的预设部分区域的结束行像素的像素中心连线与扫描区域的两个交点像素中横坐标最小的交点像素,m为预设校正后图像与纵轴平行的对称轴映射至扫描区域中的列像素的列标记,c为预设校正后图像与纵轴平行的对称轴所在列像素的列标记,a为预设校正后图像的起始列像素的列标记,(c-a)为预设校正后图像的一半宽度。
其中,纵轴为预设校正后图像所在坐标系的纵轴,即校正平面坐标系的纵轴。
S204:基于缩放系数、预设校正后图像中预设部分区域的结束行像素的行标记、预设校正后图像中预设部分区域的宽度、预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及预设校正后图像中预设部分区域的结束列像素的列标记,确定扫描区域的预设部分区域的结束列像素的列标记。
通过以下公式计算扫描区域的预设部分区域的结束列像素的列标记:
R1=min(x0,B1+1)
B1=floor(m+Scale[jInt]*(b-c))+1
其中,R1为扫描区域的预设部分区域的结束列像素的列标记,x0为像平面坐标系的最大横坐标对应的列像素,floor为向下取整函数,即floor(k)为不大于k的最大整数,Scale为缩放系数,jInt为预设校正后图像中预设部分区域的结束行像素的行标记,B1为最邻近第一右侧交点像素的横坐标,B1为整数,第一右侧交点像素为扫描区域的预设部分区域的结束行像素的像素中心连线与扫描区域的两个交点像素中横坐标最大的交点像素,m为预设校正后图像与纵轴平行的对称轴映射至扫描区域中的列像素的列标记,b为预设校正后图像的结束列像素的列标记,c为预设校正后图像与纵轴平行的对称轴所在列像素的列标记,(b-c)为预设校正后图像的一半宽度。
由此,可确定扫描区域的预设部分区域的参数如下:
起始行像素的行标记:T1=JtoY[jTop]
起始列像素的列标记:L1=max(1,A1)
结束列像素的列标记:R1=min(x0,B1+1)
宽度:W1=R1-L1+1
高度:H1=JtoY[jInt]+1-JtoY[jTop]+1
其中,W1为扫描区域的预设部分区域的宽度,H1为扫描区域的预设部分区域的高度。
在获取上述的扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据后,即可将第一像素数据存储至存储空间。示例性的,按照所扫描到的图像每行从左到右,行与行之间从上到下的顺序将第一像素数据存储至由pIn开端的存储空间中,当然,也可以按照所扫描到的图像每行从左到右,行与行之间从下到上的顺序将第一像素数据存储至由pIn开端的存储空间中,这都是合理的。
S102:采用预设校正算法对第一像素数据进行校正得到第二像素数据,并存储第二像素数据至存储空间。
在将第一像素数据存储至存储空间后,即可采用预设校正算法对第一像素数据进行校正得到第二像素数据。
参见图6,上述采用预设校正算法对第一像素数据进行校正得到第二像素数据,可以包括:
S301:针对预设校正后图像中预设部分区域中的每个像素点,在扫描区域的预设部分区域中,确定与每个像素点对应的目标像素点,以及确定距离目标像素点预设距离的预设数量个参考像素点。
针对预设校正后图像中预设部分区域中的每个像素点,在扫描区域的预设部分区域中,确定与每个像素点对应的目标像素点。为了计算第二像素数据,还需要确定距离目标像素点预设距离的预设数量个参考像素点。
其中,确定目标像素点的顺序与将第一像素数据存储至存储空间的顺序相同。示例性的,可以为按照预设校正后图像中预设部分区域每行从左到右,行与行之间从上到下的顺序,也可以按照预设校正后图像中预设部分区域每行从左到右,行与行之间从下到上的顺序,这都是合理的。
参见图7,预设数量为4个,假设预设校正后图像中预设部分区域中的任一像素点的像素中心为P,坐标为(p,jp),将像素中心P从校正平面坐标系映射至像平面坐标系中为P’,即与该像素点的像素中心P对应的目标像素点的像素中心为P’。确定距离像素中心P’最近的上一行像素以及下一行像素中的四个像素点,分别用P1、P2、P3、P4标记所确定的四个像素点的像素中心,所确定的四个像素点的坐标分别为(p1,t),(p2,t),(p1,t+1),(p2,t+1)。
S302:基于预设数量个参考像素点的像素数据,利用双线性差值算法计算每个像素点的像素数据,作为第二像素数据。
在确定了目标像素点以及参考像素点后,即可基于预设数量个参考像素点的像素数据,利用双线性差值算法计算每个像素点的像素数据,作为第二像素数据。
预设数量为4个,双线性差值算法的公式如下所示:
v=dyp×(dxp×v1+(1-dxp)×v2)+(1-dyp)×(dxp×v3+(1-dxp)×v4)
v=(dxp×(v1+v3)+(1-dxp)×(v2+v4))/2
dxp=(m-p′)-floor(m-p′)
dyp=DY[jp]
(m-p′)=Scale[jp]×(c-p)
其中,v为预设校正后图像中预设部分区域中任一像素点的像素值,p为该像素点所在列的列标记,jp为该像素点所在行的行标记,dyp为该像素点所在行像素映射至像平面坐标系中的行像素的像素中心连线与下一行像素中心连线的距离,v1为P1的像素值,v2为P2的像素值,v3为P3的像素值,v4为P4的像素值,dxp为目标像素点与像平面坐标系的中线的距离,m为预设校正后图像与纵轴平行的对称轴映射至扫描区域中的列像素的列标记,c为预设校正后图像与纵轴平行的对称轴所在列像素的列标记,p′为目标像素点所在列的列标记,DY为间距对应关系,Scale为缩放系数。
每计算得到预设校正后图像中预设部分区域的一个像素数据就作为一个第二像素数据,并存储至存储空间中。示例性的,每计算得到一个第二像素数据,就存储至pOut为开端的内存中,其中,像素数据包括像素值和像素位置。
S103:判断存储空间的剩余空间是否满足预设条件,如果是,执行步骤S104。
在将第二像素数据存储至存储空间后,即完成了第一次“获取图像-存储图像-校准图像-存储图像”,此时,存储空间中还存在剩余空间,为了减少由存储空间不足造成的图像存储失败的情况的发生,需要判断存储空间的剩余空间是否满足预设条件,并根据判断结果执行后续步骤。
判断存储空间的剩余空间是否满足预设条件的方式有多种,包括但不限于以下几种方式:
第一种方式:通过预估的方式,判断存储空间的剩余空间是否满足预设条件。
参见图8,步骤S103可以包括:
S1031:获取剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储第五像素数据所占用的第一空间,以及预估存储采用预设校正算法对第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,剩余区域的扫描模式为预设第一扫描模式。
为了确定剩余空间是否足够容纳:针对剩余区域的校正后图像,该校正后图像为对采用预设第一扫描模式时,剩余区域所扫描得到的图像以及对剩余区域所扫描得到的图像进行校正后得到的图像,需要获取剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储第五像素数据所占用的第一空间,以及预估存储采用预设校正算法对第五像素数据进行校正后的第六像素数据所占用的第二空间。
其中,确定剩余区域的过程,可以包括:
基于校正后图像与待校正图像之间行像素的预设对应关系、预设校正后图像以及预设校正后图像中预设部分区域,确定剩余区域;
其中,校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
需要说明的是,由于预设校正后图像位于校正平面坐标系中,扫描区域位于像平面坐标系中,因此,校正后图像与待校正图像之间行像素的行标记对应关系即为像平面坐标系与校正平面坐标系之间行像素的行标记对应关系,校正后图像行像素对应的缩放系数即为像平面坐标系与校正平面坐标系之间行像素的缩放对应关系。
由于校正后图像与待校正图像之间行像素存在对应关系,因此,基于校正后图像与待校正图像之间行像素的对应关系、预设校正后图像以及预设校正后图像中预设部分区域,即可确定剩余区域。
在一种实现方式中,参见图9,上述基于校正后图像与待校正图像之间行像素的预设对应关系、预设校正后图像以及预设校正后图像中预设部分区域,确定剩余区域,可以包括:
S501:基于行标记对应关系、预设校正后图像中预设部分区域的起始行像素的行标记以及预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记。
为了确定剩余区域,需要确定剩余区域的起始行、结束行、起始列和结束列,当然,也可以确定剩余区域的起始行、高度、起始列和宽度,这都是可以的,可以确定剩余区域的方式有多种,下面对通过确定剩余区域的起始行、结束行、起始列和结束列的方式确定剩余区域进行介绍。
由于校正平面坐标系中的第j行像素的行标记与像平面坐标系中第y行像素的行标记的对应关系存储在数组JToY中,因此,可以通过下述公式确定剩余区域的起始行像素的行标记:
T2=JtoY[jTop+h1]
其中,T2为剩余区域的起始行像素的行标记,JtoY为行标记对应关系,jTop为预设校正后图像中预设部分区域的起始行像素的行标记,h1为预设校正后图像中预设部分区域的高度。
S502:基于行标记对应关系以及预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记。
类似的,通过下述公式确定剩余区域的结束行像素的行标记:
TBot=JtoY[jBot]+1
其中,TBot为剩余区域的结束行像素的行标记,JtoY为行标记对应关系,jBot为预设校正后图像的结束行像素的行标记。
S503:基于缩放系数、预设校正后图像的结束行像素的行标记、预设校正后图像的宽度、预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,纵轴为预设校正后图像所在坐标系的纵轴。
通过以下公式计算剩余区域的起始列像素的列标记:
L2=max(1,A2)
A2=floor(m-Scale[jBot]*(c-a))
其中,L2为剩余区域的起始列像素的列标记,floor为向下取整函数,即floor(k)为不大于k的最大整数,Scale为缩放系数,jBot为预设校正后图像的结束行像素的行标记,A2为最邻近第二左侧交点像素的横坐标,A2为整数,第二左侧交点像素为剩余区域的结束行像素的像素中心连线与扫描区域的两个交点像素中横坐标最小的交点像素,m为预设校正后图像与纵轴平行的对称轴映射至扫描区域中的列像素的列标记,c为预设校正后图像与纵轴平行的对称轴所在列像素的列标记,a为预设校正后图像的起始列像素的列标记,(c-a)为预设校正后图像的一半宽度。
其中,纵轴为预设校正后图像所在坐标系的纵轴,即校正平面坐标系的纵轴。
S504:基于缩放系数、预设校正后图像的结束行像素的行标记、预设校正后图像的宽度、预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
通过以下公式计算剩余区域的结束列像素的列标记:
R2=min(x0,B2+1)
B2=floor(m+Scale[jBot]*(b-c))+1
其中,R2为剩余区域的结束列像素的列标记,x0为像平面坐标系最大横坐标对应的列像素,floor为向下取整函数,即floor(k)为不大于k的最大整数,Scale为缩放系数,jBot为预设校正后图像的结束行像素的行标记,B2为最邻近第二右侧交点像素的横坐标,B2为整数,第二右侧交点像素为剩余区域的结束行像素的像素中心连线与扫描区域的两个交点像素中横坐标最大的交点像素,m为预设校正后图像与纵轴平行的对称轴映射至扫描区域中的列像素的列标记,b为预设校正后图像的结束列像素的列标记,c为预设校正后图像与纵轴平行的对称轴所在列像素的列标记,(b-c)为预设校正后图像的一半宽度。
由此,可确定剩余区域的参数如下:
起始行像素的行标记:T2=JtoY[jTop+h1]
起始列像素的列标记:L2=max(1,A2)
结束列像素的列标记:R2=min(x0,B2+1)
宽度:W2=R2-L2+1
高度:H2=JtoY[jBot]+1-JtoY[jInt+1]+1
其中,W2为剩余区域的宽度,H2为剩余区域的高度。
在获取上述的扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据后,即可将第三像素数据存储至存储空间。示例性的,按照所扫描到的图像每行从左到右,行与行之间从上到下的顺序将第三像素数据存储至由pIn开端的存储空间中,当然,也可以按照所扫描到的图像每行从左到右,行与行之间从下到上的顺序将第三像素数据存储至由pIn开端的存储空间中,这都是合理的。此时,pIn=pOut+Im gBytes-floor((W2+1)/2)×H2。
在确定剩余区域后,由于预设第一扫描模式是已知的,预设校正算法也是已知的,因此,可以预估出第一空间以及第二空间。
示例性的,预设第一扫描模式可以为逐行逐列扫描模式。
S1032:判断存储空间的剩余空间是否小于第一空间和第二空间之和,如果是,确定存储空间的剩余空间满足预设条件。
在预估出第一空间和第二空间后,判断存储空间的剩余空间是否小于第一空间和第二空间之和,如果是,说明剩余空间不足够容纳第五像素数据以及对第五像素数据进行校正后的第六像素数据,此时,确定存储空间的剩余空间满足预设条件。
第二种方式:
步骤S103可以包括:
判断预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数,如果是,确定存储空间的剩余空间满足预设条件。
通过以下公式确定预设行数:
对i=1,2,…,j0-h+1循环执行以下步骤:
jTop=i
jBot=jTop+h-1
H2=JtoY[jBot]+1-JtoY[jInt+1]+1
如果Width(jBot)×H2≤Im gBytes-GapBytes-w×h1
则j1=i;否则:退出循环
其中,j0为校正平面坐标系的最大纵坐标对应的行像素,i为预设校正后图像的第i列像素,h为预设校正后图像的高度,JtoY为行标记对应关系,w为预设校正后图像中预设部分区域的宽度,Width(jBot)为预设校正后图像的结束行像素映射至像平面坐标系中的行像素的宽度,jTop为预设校正后图像中预设部分区域的起始行像素的行标记,jBot为预设校正后图像的结束行像素的行标记,H2为剩余区域的高度,jInt为预设校正后图像中预设部分区域的结束行像素的行标记,Im gBytes-GapBytes为用于存放校正后图像和待校正图像的存储空间的大小,h1为预设校正后图像中预设部分区域的高度。
如果判断预设校正后图像中预设部分区域的起始行像素的行标记大于预设行数,说明预设校正后图像中预设部分区域的起始行像素的行标记较大,则预设校正后图像中预设部分区域映射至像平面坐标系中的待校正图像中的预设部分区域较大,进一步使得剩余区域较大。
由于剩余区域较大,使得所获取的在第一扫描模式时,剩余区域所扫描得到的像素数据较大,进一步使得对该像素数据进行校正得到的像素数据所占用的空间较大,导致剩余空间不足够容纳扫描得到的像素数据以及对该像素数据进行校正得到的像素数据,也就是剩余空间不足够容纳第五像素数据以及对第五像素数据进行校正后的第六像素数据,此时,确定存储空间的剩余空间满足预设条件。
S104:获取扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储第三像素数据至存储空间,其中,剩余区域为扫描区域中除预设部分区域以外的区域,剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量。
由于剩余空间不足够容纳采用预设第一扫描模式时剩余区域所扫描得到的图像以及针对剩余区域的校正后图像,该校正后图像为对采用预设第一扫描模式时,剩余区域所扫描得到的图像进行校正后得到的图像,此时,为了使剩余空间可以容纳采用预设第一扫描模式时剩余区域所扫描得到的图像以及针对剩余区域的校正后图像,需要获取扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,其中,剩余区域为扫描区域中除预设部分区域以外的区域,剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量。在获取第三像素数据后,即可存储第三像素数据至存储空间。
示例性的,预设第一扫描模式为逐行逐列扫描模式,预设第二扫描模式为逐行隔列扫描模式。
S105:采用预设校正算法对第三像素数据进行校正得到第四像素数据,并存储第四像素数据至存储空间。
在存储第三像素数据后,即可采用预设校正算法对第三像素数据进行校正得到第四像素数据。
采用预设校正算法对第三像素数据进行校正得到第四像素数据的方式与步骤S102得到第二像素数据的方式类似,可参见步骤S102以及图6所示的方法,在此不再赘述。
每计算得到一个第四像素数据,就存储至存储空间中。示例性的,每计算得到一个第四像素数据,就存储至pOut为开端的内存中,此时,pOut相对于存储空间的起始地址右移w×h1个比特,其中,w为预设校正后图像中预设部分区域的宽度,h1为预设校正后图像中预设部分区域的高度。
由此完成了第二次“获取图像-存储图像-校准图像-存储图像”,并将两次获取的图像以及两次校正后的图像均存储至存储空间中。最终得到以pOut为首地址的扫描区域扫描得到的图像以及对扫描区域扫描得到的图像进行校正后的校正后图像。
本发明实施例中,获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储第一像素数据至所述存储空间,其中,预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对第一像素数据进行校正得到第二像素数据,并存储第二像素数据至存储空间;判断存储空间的剩余空间是否满足预设条件;如果是,获取扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储第三像素数据至存储空间,其中,剩余区域为扫描区域中除预设部分区域以外的区域,剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量;采用预设校正算法对第三像素数据进行校正得到第四像素数据,并存储第四像素数据至存储空间。本发明中,在存储对预设部分区域所扫描得到的第一像素数据以及对第一像素数据进行校正后的第二像素数据后,判断剩余存储空间是否满足预设条件,并在是的情况下,获取扫描区域的剩余区域所扫描得到的第三像素数据,并存储第三像素数据以及对第三像素数据校正后的第四像素数据,由于剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量,因此,与现有的方法相比,采用本发明实施例的方案能够减小扫描得到的图像的大小,即校正前图像的大小,从而减少了由于存储空间不足造成的图像存储失败的情况的发生,提高了图像存储的成功率,同时,由于预设部分区域的扫描模式为预设第一扫描模式,使得采用本发明实施例的方案能够在提高图像存储的成功率的前提下,保证较高的图像质量。
在图4所示方法的基础上,当存储空间的剩余空间不满足预设条件时,参见图10,上述方法还可以包括:
S106:获取扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储第七像素数据至存储空间,其中,剩余区域的扫描模式为预设第一扫描模式。
当判断存储空间的剩余空间不满足预设条件时,说明剩余空间足够容纳采用预设第一扫描模式时剩余区域所扫描得到的图像以及针对剩余区域的校正后图像,该校正后图像为对采用预设第一扫描模式时,剩余区域所扫描得到的图像进行校正后得到的图像,此时,即可获取扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,其中,剩余区域的扫描模式为预设第一扫描模式。
获取扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据与步骤S101中获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据的方式类似,可参照步骤S101,在此不再赘述。
在获取上述的第七像素数据后,即可将第七像素数据存储至存储空间。示例性的,按照所扫描到的图像每行从左到右,行与行之间从上到下的顺序将第七像素数据存储至由pIn开端的存储空间中,当然,也可以按照所扫描到的图像每行从左到右,行与行之间从下到上的顺序将第七像素数据存储至由pIn开端的存储空间中,这都是合理的。此时,pIn=pOut+ImgBytes-W2×H2,其中,W2为剩余区域的宽度,H2为剩余区域的高度,pIn用于标记图像传感器扫描的图像在存储空间中存放位置的首地址,pOut用于标记对物体图像进行校正后得到的校正后图像在存储空间中存放位置的首地址,ImgBytes为用于存储图像的存储空间的大小。
S107:采用预设校正算法对第七像素数据进行校正得到第八像素数据,并存储第八像素数据至存储空间。
在存储第七像素数据后,即可采用预设校正算法对第七像素数据进行校正得到第八像素数据。
上述采用预设校正算法对第七像素数据进行校正得到第八像素数据,可以包括:
针对预设校正后图像中除预设部分区域外的剩余区域中的每个像素点,在扫描区域的剩余区域中,确定与每个像素点对应的第一像素点,以及确定距离第一像素点预设距离的预设数量个第二像素点;
基于预设数量个第二像素点的像素数据,利用双线性差值算法计算每个像素点的像素数据,作为第八像素数据。
针对预设校正后图像中除预设部分区域外的剩余区域中的每个像素点,在扫描区域的剩余区域中,确定与每个像素点对应的第一像素点。为了计算第八像素数据,还需要确定距离第一像素点预设距离的预设数量个第二像素点。
其中,确定第一像素点的顺序与将第七像素数据存储至存储空间的顺序相同。示例性的,可以为按照预设校正后图像中除预设部分区域外的剩余区域每行从左到右,行与行之间从上到下的顺序,也可以按照预设校正后图像中除预设部分区域外的剩余区域每行从左到右,行与行之间从下到上的顺序,这都是合理的。
预设数量为4个,假设预设校正后图像中除预设部分区域外的剩余区域中的任一像素点的像素中心为Q,坐标为(q,jq),将像素中心Q从校正平面坐标系映射至像平面坐标系中为Q’,即与该像素点的像素中心Q对应的第一像素点的像素中心为Q’。确定距离像素中心Q’最近的上一行像素以及下一行像素中的四个像素点,分别用Q1、Q2、Q3、Q4标记所确定的四个像素点的像素中心,所确定的四个像素点的坐标分别为(q1,s),(q2,s),(q1,s+1),(q2,s+1)。
在确定了第一像素点以及第二像素点后,即可基于预设数量个第二像素点的像素数据,利用双线性差值算法计算每个像素点的像素数据,作为第八像素数据。
预设数量为4个,双线性差值算法的公式如下所示:
u=dyq×(dxq×u1+(1-dxq)×u2)+(1-dyq)×(dxq×u3+(1-dxq)×u4)
u=(dxq×(u1+u3)+(1-dxq)×(u2+u4))/2
dyq=DY[jq]
(m-q′)=Scale[jq]×(c-q)
其中,u为预设校正后图像中除预设部分区域外的剩余区域中任一像素点的像素值,q为该像素点所在列的列标记,jq为该像素点所在行的行标记,dyq为该像素点所在行像素映射至像平面坐标系中的行像素的像素中心连线与下一行像素中心连线的距离,u1为Q1的像素值,u2为Q2的像素值,u3为Q3的像素值,u4为Q4的像素值,dxq为第一像素点与像平面坐标系的中线的距离,m为预设校正后图像与纵轴平行的对称轴映射至扫描区域中的列像素的列标记,c为预设校正后图像与纵轴平行的对称轴所在列像素的列标记,q′为第一像素点所在列的列标记,DY为间距对应关系,Scale为缩放系数,L2为剩余区域的起始列像素的列标记,ceiling为向上取整函数,即ceiling(k)为不小于k的最大整数。
每计算得到预设校正后图像中除预设部分区域外的剩余区域中的一个像素数据就作为一个第八像素数据,并存储至存储空间中。示例性的,每计算得到一个第八像素数据,就存储至pOut为开端的内存中。此时,pOut相对于存储空间的起始地址右移w×h1个比特,其中,w为预设校正后图像中预设部分区域的宽度,h1为预设校正后图像中预设部分区域的高度。
存储空间的起始地址右移w×h1个比特,由此,在判断存储空间的剩余空间不满足预设条件时,获取扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储第七像素数据至存储空间,其中,剩余区域的扫描模式为预设第一扫描模式,并对第七像素数据进行校正得到第八像素数据,并存储第八像素数据至存储空间,由于针对剩余区域,相对于预设第二扫描模式,采用预设第一扫描模式所扫描得到的像素数量较大,因此,提高了扫描得到的图像以及校正后的图像的像素质量。
相对于上述方法实施例,本发明实施例还提供了一种图像校正装置,所述装置可以包括:
图像抓取模块,用于扫描并抓取图像;
处理器,用于获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;判断所述存储空间的剩余空间是否满足预设条件;如果是,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
本发明实施例中,获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储第一像素数据至所述存储空间,其中,预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对第一像素数据进行校正得到第二像素数据,并存储第二像素数据至存储空间;判断存储空间的剩余空间是否满足预设条件;如果是,获取扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储第三像素数据至存储空间,其中,剩余区域为扫描区域中除预设部分区域以外的区域,剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量;采用预设校正算法对第三像素数据进行校正得到第四像素数据,并存储第四像素数据至存储空间。本发明中,在存储对预设部分区域所扫描得到的第一像素数据以及对第一像素数据进行校正后的第二像素数据后,判断剩余存储空间是否满足预设条件,并在是的情况下,获取扫描区域的剩余区域所扫描得到的第三像素数据,并存储第三像素数据以及对第三像素数据校正后的第四像素数据,由于剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量,因此,与现有的方法相比,采用本发明实施例的方案能够减小扫描得到的图像的大小,即校正前图像的大小,从而减少了由于存储空间不足造成的图像存储失败的情况的发生,提高了图像存储的成功率。
在本发明实施例的一种实现方式中,如图11所示,所述所述处理器,可以包括:
第一像素数据获取模块1101,用于获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;
第二像素数据确定模块1102,用于采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;
判断模块1103,用于判断所述存储空间的剩余空间是否满足预设条件,如果是,触发第三像素数据获取模块1104;
所述第三像素数据获取模块1104,用于获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;
第四像素数据确定模块1105,用于采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
在本发明实施例的一种实现方式中,所述装置还可以包括第一确定模块,所述第一确定模块用于确定所述扫描区域中预设部分区域,所述第一确定模块,具体用于:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
在本发明实施例的一种实现方式中,所述校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,所述预设公式可以为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
在本发明实施例的一种实现方式中,所述第一确定模块,可以包括:
第一起始行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的起始行像素的行标记,确定所述扫描区域的预设部分区域的起始行像素的行标记;
第一结束行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的结束行像素的行标记,确定所述扫描区域的预设部分区域的结束行像素的行标记;
第一起始列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的起始列像素的列标记,确定所述扫描区域的预设部分区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
第一结束列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的结束列像素的列标记,确定所述扫描区域的预设部分区域的结束列像素的列标记。
在本发明实施例的一种实现方式中,所述第二像素数据确定模块,可以包括:
目标像素点确定单元,用于针对所述预设校正后图像中预设部分区域中的每个像素点,在所述扫描区域的预设部分区域中,确定与所述每个像素点对应的目标像素点,以及确定距离所述目标像素点预设距离的预设数量个参考像素点;
第二像素数据确定单元,用于基于所述预设数量个参考像素点的像素数据,利用双线性差值算法计算所述每个像素点的像素数据,作为第二像素数据,其中,所述像素数据包括像素值和像素位置。
在本发明实施例的一种实现方式中,所述判断模块,可以包括:
预估单元,用于获取所述剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储所述第五像素数据所占用的第一空间,以及预估存储采用所述预设校正算法对所述第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,所述剩余区域的扫描模式为所述预设第一扫描模式;
空间判断单元,用于判断所述存储空间的剩余空间是否小于所述第一空间和所述第二空间之和,如果是,确定所述存储空间的剩余空间满足预设条件。
在本发明实施例的一种实现方式中,所述判断模块,可以具体用于:
判断所述预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数,如果是,确定所述存储空间的剩余空间满足预设条件。
在本发明实施例的一种实现方式中,所述装置还可以包括:
第七像素数据获取模块,用于当所述存储空间的剩余空间不满足预设条件时,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储所述第七像素数据至所述存储空间,其中,所述剩余区域的扫描模式为预设第一扫描模式;
第八像素数据确定模块,用于采用所述预设校正算法对所述第七像素数据进行校正得到第八像素数据,并存储所述第八像素数据至所述存储空间。
在本发明实施例的一种实现方式中,所述装置还包括第二确定模块,所述第二确定模块用于确定所述剩余区域,所述第二确定模块,可以具体用于:
基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
在本发明实施例的一种实现方式中,所述第二确定模块,可以包括:
第二起始行像素行标记确定单元,用于基于所述行标记对应关系、所述预设校正后图像中预设部分区域的起始行像素的行标记以及所述预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记;
第二结束行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记;
第二起始列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
第二结束列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
本发明实施例还提供了一种电子设备,如图12所示,包括处理器1201和存储器1202,
存储器1202,用于存放计算机程序;
处理器1201,用于执行存储器1202上所存放的计算机程序时,实现如下步骤:
获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;
采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;
判断所述存储空间的剩余空间是否满足预设条件;
如果是,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;
采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
本发明实施例中,电子设备获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储第一像素数据至所述存储空间,其中,预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对第一像素数据进行校正得到第二像素数据,并存储第二像素数据至存储空间;判断存储空间的剩余空间是否满足预设条件;如果是,获取扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储第三像素数据至存储空间,其中,剩余区域为扫描区域中除预设部分区域以外的区域,剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量;采用预设校正算法对第三像素数据进行校正得到第四像素数据,并存储第四像素数据至存储空间。本发明中,在存储对预设部分区域所扫描得到的第一像素数据以及对第一像素数据进行校正后的第二像素数据后,判断剩余存储空间是否满足预设条件,并在是的情况下,获取扫描区域的剩余区域所扫描得到的第三像素数据,并存储第三像素数据以及对第三像素数据校正后的第四像素数据,由于剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量,因此,与现有的方法相比,采用本发明实施例的方案能够减小扫描得到的图像的大小,即校正前图像的大小,从而减少了由于存储空间不足造成的图像存储失败的情况的发生,提高了图像存储的成功率。
在本发明实施例的一种实现方式中,确定所述扫描区域的预设部分区域的过程,包括:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
在本发明实施例的一种实现方式中,所述校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,所述预设公式可以为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
在本发明实施例的一种实现方式中,所述基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域的步骤,可以包括:
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的起始行像素的行标记,确定所述扫描区域的预设部分区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的结束行像素的行标记,确定所述扫描区域的预设部分区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的起始列像素的列标记,确定所述扫描区域的预设部分区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的结束列像素的列标记,确定所述扫描区域的预设部分区域的结束列像素的列标记。
在本发明实施例的一种实现方式中,所述采用预设校正算法对所述第一像素数据进行校正得到第二像素数据的步骤,可以包括:
针对所述预设校正后图像中预设部分区域中的每个像素点,在所述扫描区域的预设部分区域中,确定与所述每个像素点对应的目标像素点,以及确定距离所述目标像素点预设距离的预设数量个参考像素点;
基于所述预设数量个参考像素点的像素数据,利用双线性差值算法计算所述每个像素点的像素数据,作为第二像素数据,其中,所述像素数据包括像素值和像素位置。
在本发明实施例的一种实现方式中,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,可以包括:
获取所述剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储所述第五像素数据所占用的第一空间,以及预估存储采用所述预设校正算法对所述第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,所述剩余区域的扫描模式为所述预设第一扫描模式;
判断所述存储空间的剩余空间是否小于所述第一空间和所述第二空间之和;
如果是,确定所述存储空间的剩余空间满足预设条件。
在本发明实施例的一种实现方式中,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,可以包括:
判断所述预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数;
如果是,确定所述存储空间的剩余空间满足预设条件。
在本发明实施例的一种实现方式中,当所述存储空间的剩余空间不满足预设条件时,所述方法还可以包括:
获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储所述第七像素数据至所述存储空间,其中,所述剩余区域的扫描模式为预设第一扫描模式;
采用所述预设校正算法对所述第七像素数据进行校正得到第八像素数据,并存储所述第八像素数据至所述存储空间。
在本发明实施例的一种实现方式中,确定所述剩余区域的过程,可以包括:
基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
在本发明实施例的一种实现方式中,所述基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域的步骤,可以包括:
基于所述行标记对应关系、所述预设校正后图像中预设部分区域的起始行像素的行标记以及所述预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;
采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;
判断所述存储空间的剩余空间是否满足预设条件;
如果是,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;
采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
本发明实施例中,计算机程序被处理器执行时获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储第一像素数据至所述存储空间,其中,预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对第一像素数据进行校正得到第二像素数据,并存储第二像素数据至存储空间;判断存储空间的剩余空间是否满足预设条件;如果是,获取扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储第三像素数据至存储空间,其中,剩余区域为扫描区域中除预设部分区域以外的区域,剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量;采用预设校正算法对第三像素数据进行校正得到第四像素数据,并存储第四像素数据至存储空间。本发明中,在存储对预设部分区域所扫描得到的第一像素数据以及对第一像素数据进行校正后的第二像素数据后,判断剩余存储空间是否满足预设条件,并在是的情况下,获取扫描区域的剩余区域所扫描得到的第三像素数据,并存储第三像素数据以及对第三像素数据校正后的第四像素数据,由于剩余区域的扫描模式为预设第二扫描模式,且针对剩余区域,采用预设第二扫描模式所扫描得到的像素数量小于采用预设第一扫描模式所扫描得到的像素数量,因此,与现有的方法相比,采用本发明实施例的方案能够减小扫描得到的图像的大小,即校正前图像的大小,从而减少了由于存储空间不足造成的图像存储失败的情况的发生,提高了图像存储的成功率。
在本发明实施例的一种实现方式中,确定所述扫描区域的预设部分区域的过程,包括:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
在本发明实施例的一种实现方式中,所述校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,所述预设公式可以为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
在本发明实施例的一种实现方式中,所述基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域的步骤,可以包括:
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的起始行像素的行标记,确定所述扫描区域的预设部分区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的结束行像素的行标记,确定所述扫描区域的预设部分区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的起始列像素的列标记,确定所述扫描区域的预设部分区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的结束列像素的列标记,确定所述扫描区域的预设部分区域的结束列像素的列标记。
在本发明实施例的一种实现方式中,所述采用预设校正算法对所述第一像素数据进行校正得到第二像素数据的步骤,可以包括:
针对所述预设校正后图像中预设部分区域中的每个像素点,在所述扫描区域的预设部分区域中,确定与所述每个像素点对应的目标像素点,以及确定距离所述目标像素点预设距离的预设数量个参考像素点;
基于所述预设数量个参考像素点的像素数据,利用双线性差值算法计算所述每个像素点的像素数据,作为第二像素数据,其中,所述像素数据包括像素值和像素位置。
在本发明实施例的一种实现方式中,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,可以包括:
获取所述剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储所述第五像素数据所占用的第一空间,以及预估存储采用所述预设校正算法对所述第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,所述剩余区域的扫描模式为所述预设第一扫描模式;
判断所述存储空间的剩余空间是否小于所述第一空间和所述第二空间之和;
如果是,确定所述存储空间的剩余空间满足预设条件。
在本发明实施例的一种实现方式中,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,可以包括:
判断所述预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数;
如果是,确定所述存储空间的剩余空间满足预设条件。
在本发明实施例的一种实现方式中,当所述存储空间的剩余空间不满足预设条件时,所述方法还可以包括:
获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储所述第七像素数据至所述存储空间,其中,所述剩余区域的扫描模式为预设第一扫描模式;
采用所述预设校正算法对所述第七像素数据进行校正得到第八像素数据,并存储所述第八像素数据至所述存储空间。
在本发明实施例的一种实现方式中,确定所述剩余区域的过程,可以包括:
基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
在本发明实施例的一种实现方式中,所述基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域的步骤,可以包括:
基于所述行标记对应关系、所述预设校正后图像中预设部分区域的起始行像素的行标记以及所述预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (23)
1.一种图像存储方法,其特征在于,所述方法包括:
获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;
采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;
判断所述存储空间的剩余空间是否满足预设条件;
如果是,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;
采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
2.根据权利要求1所述的方法,其特征在于,确定所述扫描区域的预设部分区域的过程,包括:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
3.根据权利要求2所述的方法,其特征在于,所述校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,所述预设公式为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
4.根据权利要求2所述的方法,其特征在于,所述基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域的步骤,包括:
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的起始行像素的行标记,确定所述扫描区域的预设部分区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的结束行像素的行标记,确定所述扫描区域的预设部分区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的起始列像素的列标记,确定所述扫描区域的预设部分区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的结束列像素的列标记,确定所述扫描区域的预设部分区域的结束列像素的列标记。
5.根据权利要求2所述的方法,其特征在于,所述采用预设校正算法对所述第一像素数据进行校正得到第二像素数据的步骤,包括:
针对所述预设校正后图像中预设部分区域中的每个像素点,在所述扫描区域的预设部分区域中,确定与所述每个像素点对应的目标像素点,以及确定距离所述目标像素点预设距离的预设数量个参考像素点;
基于所述预设数量个参考像素点的像素数据,利用双线性差值算法计算所述每个像素点的像素数据,作为第二像素数据,其中,所述像素数据包括像素值和像素位置。
6.根据权利要求1所述的方法,其特征在于,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,包括:
获取所述剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储所述第五像素数据所占用的第一空间,以及预估存储采用所述预设校正算法对所述第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,所述剩余区域的扫描模式为所述预设第一扫描模式;
判断所述存储空间的剩余空间是否小于所述第一空间和所述第二空间之和;
如果是,确定所述存储空间的剩余空间满足预设条件。
7.根据权利要求2所述的方法,其特征在于,所述判断所述存储空间的剩余空间是否满足预设条件的步骤,包括:
判断所述预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数;
如果是,确定所述存储空间的剩余空间满足预设条件。
8.根据权利要求1所述的方法,其特征在于,当所述存储空间的剩余空间不满足预设条件时,所述方法还包括:
获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储所述第七像素数据至所述存储空间,其中,所述剩余区域的扫描模式为预设第一扫描模式;
采用所述预设校正算法对所述第七像素数据进行校正得到第八像素数据,并存储所述第八像素数据至所述存储空间。
9.根据权利要求1或8所述的方法,其特征在于,确定所述剩余区域的过程,包括:
基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
10.根据权利要求9所述的方法,其特征在于,所述基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域的步骤,包括:
基于所述行标记对应关系、所述预设校正后图像中预设部分区域的起始行像素的行标记以及所述预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记;
基于所述行标记对应关系以及所述预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
11.一种图像校正装置,其特征在于,所述装置包括:
图像抓取模块,用于扫描并抓取图像;
处理器,用于获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;判断所述存储空间的剩余空间是否满足预设条件;如果是,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
12.根据权利要求11所述的装置,其特征在于,所述处理器包括:
第一像素数据获取模块,用于获取扫描区域的预设部分区域所扫描得到的像素数据,作为第一像素数据,并存储所述第一像素数据至所述存储空间,其中,所述预设部分区域的扫描模式为预设第一扫描模式;
第二像素数据确定模块,用于采用预设校正算法对所述第一像素数据进行校正得到第二像素数据,并存储所述第二像素数据至所述存储空间;
判断模块,用于判断所述存储空间的剩余空间是否满足预设条件,如果是,触发第三像素数据获取模块;
所述第三像素数据获取模块,用于获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第三像素数据,并存储所述第三像素数据至所述存储空间,其中,所述剩余区域为所述扫描区域中除所述预设部分区域以外的区域,所述剩余区域的扫描模式为预设第二扫描模式,且针对所述剩余区域,采用所述预设第二扫描模式所扫描得到的像素数量小于采用所述预设第一扫描模式所扫描得到的像素数量;
第四像素数据确定模块,用于采用所述预设校正算法对所述第三像素数据进行校正得到第四像素数据,并存储所述第四像素数据至所述存储空间。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括第一确定模块,所述第一确定模块用于确定所述扫描区域中预设部分区域,所述第一确定模块,具体用于:
基于校正后图像与待校正图像之间行像素的预设对应关系,以及预设校正后图像中预设部分区域,确定所述扫描区域的预设部分区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
14.根据权利要求13所述的装置,其特征在于,所述校正后图像与待校正图像之间行像素的行标记对应关系通过预设公式表示,所述预设公式为:
如果y≤j′<y+1,则j与y对应;
其中,y为待校正图像中的第y行像素中心连线的行标记,j为校正后图像中的第j行像素中心连线的行标记,j′为校正后图像中的第j行像素中心连线映射至待校正图像中的行像素中心连线的行标记。
15.根据权利要求13所述的装置,其特征在于,所述第一确定模块,包括:
第一起始行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的起始行像素的行标记,确定所述扫描区域的预设部分区域的起始行像素的行标记;
第一结束行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像中预设部分区域的结束行像素的行标记,确定所述扫描区域的预设部分区域的结束行像素的行标记;
第一起始列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的起始列像素的列标记,确定所述扫描区域的预设部分区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
第一结束列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像中预设部分区域的结束行像素的行标记、所述预设校正后图像中预设部分区域的宽度、所述预设校正后图像中预设部分区域与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像中预设部分区域的结束列像素的列标记,确定所述扫描区域的预设部分区域的结束列像素的列标记。
16.根据权利要求12所述的装置,其特征在于,所述第二像素数据确定模块,包括:
目标像素点确定单元,用于针对所述预设校正后图像中预设部分区域中的每个像素点,在所述扫描区域的预设部分区域中,确定与所述每个像素点对应的目标像素点,以及确定距离所述目标像素点预设距离的预设数量个参考像素点;
第二像素数据确定单元,用于基于所述预设数量个参考像素点的像素数据,利用双线性差值算法计算所述每个像素点的像素数据,作为第二像素数据,其中,所述像素数据包括像素值和像素位置。
17.根据权利要求12所述的装置,其特征在于,所述判断模块,包括:
预估单元,用于获取所述剩余区域所扫描得到的像素数据,作为第五像素数据后,预估存储所述第五像素数据所占用的第一空间,以及预估存储采用所述预设校正算法对所述第五像素数据进行校正后的第六像素数据所占用的第二空间,其中,所述剩余区域的扫描模式为所述预设第一扫描模式;
空间判断单元,用于判断所述存储空间的剩余空间是否小于所述第一空间和所述第二空间之和,如果是,确定所述存储空间的剩余空间满足预设条件。
18.根据权利要求12所述的装置,其特征在于,所述判断模块,具体用于:
判断所述预设校正后图像中预设部分区域的起始行像素的行标记是否大于预设行数,如果是,确定所述存储空间的剩余空间满足预设条件。
19.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第七像素数据获取模块,用于当所述存储空间的剩余空间不满足预设条件时,获取所述扫描区域的剩余区域所扫描得到的像素数据,作为第七像素数据,并存储所述第七像素数据至所述存储空间,其中,所述剩余区域的扫描模式为预设第一扫描模式;
第八像素数据确定模块,用于采用所述预设校正算法对所述第七像素数据进行校正得到第八像素数据,并存储所述第八像素数据至所述存储空间。
20.根据权利要求12或19所述的装置,其特征在于,所述装置还包括第二确定模块,所述第二确定模块用于确定所述剩余区域,所述第二确定模块,具体用于:
基于校正后图像与待校正图像之间行像素的预设对应关系、所述预设校正后图像以及所述预设校正后图像中预设部分区域,确定剩余区域;
其中,所述校正后图像与待校正图像之间行像素的预设对应关系包括:校正后图像与待校正图像之间行像素的行标记对应关系,以及校正后图像行像素对应的缩放系数。
21.根据权利要求20所述的装置,其特征在于,所述第二确定模块,包括:
第二起始行像素行标记确定单元,用于基于所述行标记对应关系、所述预设校正后图像中预设部分区域的起始行像素的行标记以及所述预设校正后图像中预设部分区域的高度,确定剩余区域的起始行像素的行标记;
第二结束行像素行标记确定单元,用于基于所述行标记对应关系以及所述预设校正后图像的结束行像素的行标记,确定剩余区域的结束行像素的行标记;
第二起始列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的起始列像素的列标记,确定剩余区域的起始列像素的列标记,其中,所述纵轴为所述预设校正后图像所在坐标系的纵轴;
第二结束列像素列标记确定单元,用于基于所述缩放系数、所述预设校正后图像的结束行像素的行标记、所述预设校正后图像的宽度、所述预设校正后图像与所述纵轴平行的对称轴所在列像素的列标记以及所述预设校正后图像的结束列像素的列标记,确定剩余区域的结束列像素的列标记。
22.一种电子设备,其特征在于,包括处理器和存储器,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的计算机程序时,实现权利要求1-10任一所述的方法步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的方法步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810380171.XA CN110413805B (zh) | 2018-04-25 | 2018-04-25 | 一种图像存储方法、装置、电子设备及存储介质 |
US17/050,128 US11368648B2 (en) | 2018-04-25 | 2019-04-16 | Image storage method and apparatus, and electronic device and storage medium |
PCT/CN2019/082858 WO2019205986A1 (zh) | 2018-04-25 | 2019-04-16 | 一种图像存储方法、装置、电子设备及存储介质 |
EP19792974.8A EP3786883A4 (en) | 2018-04-25 | 2019-04-16 | PICTURE STORAGE PROCESS AND APPARATUS, ELECTRONIC DEVICE AND INFORMATION MEDIA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810380171.XA CN110413805B (zh) | 2018-04-25 | 2018-04-25 | 一种图像存储方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413805A CN110413805A (zh) | 2019-11-05 |
CN110413805B true CN110413805B (zh) | 2022-02-01 |
Family
ID=68294904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810380171.XA Active CN110413805B (zh) | 2018-04-25 | 2018-04-25 | 一种图像存储方法、装置、电子设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11368648B2 (zh) |
EP (1) | EP3786883A4 (zh) |
CN (1) | CN110413805B (zh) |
WO (1) | WO2019205986A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112859327B (zh) * | 2019-11-27 | 2022-10-18 | 成都理想境界科技有限公司 | 一种图像输出控制方法及光纤扫描成像*** |
CN113449129A (zh) * | 2020-03-25 | 2021-09-28 | 北京小米移动软件有限公司 | 图片存储方法、图片存储装置及存储介质 |
CN113820661B (zh) * | 2021-09-03 | 2023-07-28 | 暨南大学 | 一种基于二分及双指针条纹搜索的可见光定位方法及*** |
CN115049724B (zh) * | 2022-06-01 | 2024-04-02 | 长春希达电子技术有限公司 | 一种基于包络峰值的二次扫描像素光斑精确定位方法 |
CN115866422A (zh) * | 2022-11-24 | 2023-03-28 | 威海华菱光电股份有限公司 | 像素数据确定方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1881234A (zh) * | 2005-06-14 | 2006-12-20 | 佳能株式会社 | 图像处理设备、图像处理方法、计算机程序和存储介质 |
CN101771796A (zh) * | 2008-12-29 | 2010-07-07 | 比亚迪股份有限公司 | 一种校正图像桶形失真的方法和装置 |
CN102831870A (zh) * | 2009-08-18 | 2012-12-19 | 夏普株式会社 | 显示装置和显示装置的亮度不均校正方法 |
CN103369192A (zh) * | 2012-03-31 | 2013-10-23 | 深圳市振华微电子有限公司 | 多通道视频图像全硬件拼接方法及装置 |
CN104077586A (zh) * | 2014-06-20 | 2014-10-01 | 深圳百佳安生物识别技术有限公司 | 光学指纹传感器的实时梯形失真校正方法及其*** |
CN106412374A (zh) * | 2016-12-13 | 2017-02-15 | 长沙麦斯森信息科技有限公司 | 基于投影的图像连通域单次扫描方法及装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030016587A (ko) | 2001-08-21 | 2003-03-03 | (주)니트 젠 | 광학식 지문취득장치의 영상센서 |
US7918614B2 (en) | 2006-01-20 | 2011-04-05 | Sony Ericsson Mobile Communications Ab | Camera for electronic device |
CN102360427A (zh) * | 2011-09-30 | 2012-02-22 | 汉王科技股份有限公司 | 可调节扫描模式的文字采集方法和扫描装置 |
CN103946889A (zh) | 2011-10-14 | 2014-07-23 | 因格瑞恩股份有限公司 | 用于生成样品的多维图像的双图像方法和*** |
JP6024107B2 (ja) * | 2012-01-06 | 2016-11-09 | 株式会社リコー | 画像処理装置、撮像装置、画像処理方法およびプログラム |
EP2846538B1 (en) * | 2012-05-02 | 2021-06-23 | Nikon Corporation | Imaging device |
US9074986B2 (en) * | 2013-05-02 | 2015-07-07 | General Electric Company | System and method for reducing high density artifacts in computed tomography imaging |
JP2015053644A (ja) * | 2013-09-09 | 2015-03-19 | オリンパス株式会社 | 撮像装置 |
JP6583268B2 (ja) * | 2014-06-10 | 2019-10-02 | ソニー株式会社 | 撮像制御装置、撮像装置、撮像システムおよび撮像制御方法 |
AU2016264606B2 (en) * | 2015-05-19 | 2020-09-03 | Magic Leap, Inc. | Semi-global shutter imager |
KR102514137B1 (ko) * | 2015-07-24 | 2023-03-27 | 소니 세미컨덕터 솔루션즈 가부시키가이샤 | 이미지 센서, 및, 전자 기기 |
JP6583430B2 (ja) * | 2015-12-16 | 2019-10-02 | 株式会社ニコン | 撮像装置および動き検出方法 |
CN106534822B (zh) * | 2016-11-29 | 2018-06-29 | 广东欧珀移动通信有限公司 | 控制方法、控制装置及电子装置 |
CN109087253B (zh) | 2017-06-13 | 2020-12-25 | 杭州海康威视数字技术股份有限公司 | 一种图像校正方法及装置 |
US11178406B2 (en) * | 2017-09-29 | 2021-11-16 | Nikon Corporation | Video compression apparatus, electronic apparatus, and video compression program |
-
2018
- 2018-04-25 CN CN201810380171.XA patent/CN110413805B/zh active Active
-
2019
- 2019-04-16 US US17/050,128 patent/US11368648B2/en active Active
- 2019-04-16 EP EP19792974.8A patent/EP3786883A4/en active Pending
- 2019-04-16 WO PCT/CN2019/082858 patent/WO2019205986A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1881234A (zh) * | 2005-06-14 | 2006-12-20 | 佳能株式会社 | 图像处理设备、图像处理方法、计算机程序和存储介质 |
CN101771796A (zh) * | 2008-12-29 | 2010-07-07 | 比亚迪股份有限公司 | 一种校正图像桶形失真的方法和装置 |
CN102831870A (zh) * | 2009-08-18 | 2012-12-19 | 夏普株式会社 | 显示装置和显示装置的亮度不均校正方法 |
CN103369192A (zh) * | 2012-03-31 | 2013-10-23 | 深圳市振华微电子有限公司 | 多通道视频图像全硬件拼接方法及装置 |
CN104077586A (zh) * | 2014-06-20 | 2014-10-01 | 深圳百佳安生物识别技术有限公司 | 光学指纹传感器的实时梯形失真校正方法及其*** |
CN106412374A (zh) * | 2016-12-13 | 2017-02-15 | 长沙麦斯森信息科技有限公司 | 基于投影的图像连通域单次扫描方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019205986A1 (zh) | 2019-10-31 |
EP3786883A4 (en) | 2021-06-23 |
US11368648B2 (en) | 2022-06-21 |
US20210084256A1 (en) | 2021-03-18 |
EP3786883A1 (en) | 2021-03-03 |
CN110413805A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413805B (zh) | 一种图像存储方法、装置、电子设备及存储介质 | |
CN110738707B (zh) | 一种相机的畸变校正方法及装置、设备、存储介质 | |
US8000559B2 (en) | Method of correcting image distortion and apparatus for processing image using the method | |
JP5075757B2 (ja) | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 | |
EP2224726A2 (en) | Image processing apparatus, image processing method, and program | |
KR101657162B1 (ko) | 화상형성장치 및 그 스큐 보정 방법 | |
CN107871329B (zh) | 一种相机光学中心的快速标定方法及装置 | |
CN109308478B (zh) | 一种字符识别方法及装置 | |
JP2007013430A (ja) | 動きベクトル検出装置及び方法 | |
JP2005509961A (ja) | 較正を導き出す方法および画像処理の方法 | |
CN109934262B (zh) | 图片差异性判断方法、装置、计算机设备和存储介质 | |
US8482619B2 (en) | Image processing method, image processing program, image processing device, and imaging device for image stabilization | |
CN112862895B (zh) | 一种鱼眼摄像头标定方法、装置及*** | |
CN110503602B (zh) | 一种图像的投影变换方法、装置及电子设备 | |
US20160352957A1 (en) | Image reading apparatus, image reading method, and non-transitory computer readable medium | |
CN107818542A (zh) | 一种图像变形的修复方法及装置 | |
US20130169791A1 (en) | Computing device and method for measuring widths of measured parts | |
CN111951193A (zh) | 图像的水平畸变矫正方法及水平畸变矫正装置 | |
US11483547B2 (en) | System and method for adaptive correction factor subsampling for geometric correction in an image processing system | |
US11024015B2 (en) | Image processing apparatus and distortion correction coefficient calculation method | |
CN112819738B (zh) | 红外图像融合方法、装置、计算机设备和存储介质 | |
CN111767752A (zh) | 一种二维码识别方法及装置 | |
US20110001882A1 (en) | Method and system for determining motion vectors for flat regions | |
JP2018157371A (ja) | 撮像装置及び欠陥画素の補正方法 | |
KR20180068022A (ko) | 스테레오 카메라 영상 실시간 자동 캘리브레이션 장치, 그를 포함한 시스템 및 그 방법 |
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 |