CN111611210A - 一种基于栅格文件的图像处理方法 - Google Patents
一种基于栅格文件的图像处理方法 Download PDFInfo
- Publication number
- CN111611210A CN111611210A CN202010256238.6A CN202010256238A CN111611210A CN 111611210 A CN111611210 A CN 111611210A CN 202010256238 A CN202010256238 A CN 202010256238A CN 111611210 A CN111611210 A CN 111611210A
- Authority
- CN
- China
- Prior art keywords
- raster file
- file
- raster
- region
- pixel
- 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 7
- 238000004458 analytical method Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 20
- 238000000638 solvent extraction Methods 0.000 claims 3
- 230000007717 exclusion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于栅格文件的图像处理方法,包括以下步骤:S1原始栅格文件特性的获取:获取原始栅格文件中每个区域栅格文件的特性数据;S2像素点赋值:根据设定算法,对于每个区域栅格文件的所有像素点,进行赋值或不赋值,并进行标记;S3区域重新划分;重复步骤S2直至所有像素点完成赋值和标记,进行区域重新划分,以得到栅格文件的最终区域划分结果,并保存。本发明其使用区域合并分析算法,对文件中的像素数据进行分析和重新整合,提高图像处理速度,能进行大规模瞬时应用。
Description
技术领域
本发明属于应用于栅格文件中像素集的处理,涉及栅格文件中原像素点的提取,遍历分析,重新分配整合以及存储等技术点。
背景技术
在图像编辑中,栅格——像素,意思是将图像中的指令转换为像素,栅格化——指将指令转化为像素的过程;一个栅格文件存在不同的波段数,每一个波段中有很多不同的像素值,这些不同的像素值和不同的波段混合在一起就在视觉上就呈现不同的色彩变化。一般情况下栅格文件中某个特定的像素值会分属在不同的区域中,也就是说同一个像素值可能会占领两个不同的区域,这样就很难统计出来该栅格文件到底有多少个区域,有时候也因为栅格像素值过于接近的原因导致区域与区域之间不是很好划分。现有技术中对图像的栅格处理较为缓慢,不能广泛使用。
发明内容
本发明公开了一种基于栅格文件的图像处理方法,其使用区域合并分析算法,对文件中的像素数据进行分析和重新整合,提高图像处理速度,能进行大规模瞬时应用。
本发明所描述的区域合并算法就是对原文件的栅格数据进行分析并重新组合以确保原文件中一个相连通区域内的像素值是唯一的。最终将得到的数据存储到一个新的栅格文件中,通过新生成的栅格文件可以很容易的看出原栅格文件有多少个区域集,以及每个区域的大小和形状。
一种基于栅格文件的图像处理方法,包括以下步骤:
S1原始栅格文件特性的获取:获取原始栅格文件中每个区域栅格文件的特性数据;
S2像素点赋值:根据设定算法,对于每个区域栅格文件的所有像素点,进行赋值或不赋值,并进行标记;
S3区域重新划分;重复步骤S2直至所有像素点完成赋值和标记,进行区域重新划分,以得到栅格文件的最终区域划分结果,并保存。
在本发明的一个优选实施例中,对赋值后的所有像素点具体包括以下方法:依据像素点的值对一个栅格文件进行区域划分,同一个区域中所有要素点的值是相同的,一个栅格文件存在很多个不同的区域,每一个区域中要素的值是相同的。
在本发明的一个优选实施例中,所述步骤S1中原始栅格文件的特性数据是通过获取原始栅格文件的每个区域栅格文件的数据对象进行的获取。
具体地将获取的原始栅格特性数据传入到以C++为基垫的图像生成的接口中,继而通过该接口创建目标栅格文件对象。
其中栅格文件的宽度、高度和波段数转换为C++中的整形,空间参考信息转换为C++中的const char*;并进一步通过基于C++的图像生成接口将原栅格特征信息转换为目标栅格特征信息;上述方法最为稳定的图形生成方式。
在本发明的一个优选实施例中,所述原始栅格文件数据对象具体是通过C++接口以调用的方式获取。
在本发明的一个优选实施例中,所述原始栅格文件的特性数据包括栅格文件的宽度、高度、波段数以及空间参考信息。
在本发明的一个优选实施例中,所述步骤S2像素点赋值中算法采用区域合并分析算法。
在本发明的一个优选实施例中,所述步骤S2像素点赋值中,所述赋值则标记为ture,不赋值则标记为flase。
在本发明的一个优选实施例中,所述步骤S3区域重新划分中,通过栅格文件像素点的值和目标像元周围连通性像元的个数来进行区域划分的,所述个数为偶数。
通过栅格文件像素点的值和目标像元周围连通性像元的个数(4个或8个)来进行区域划分的。
备注:如果连通性像元个数等于4,则判断与当前像元相邻的上下左右四个像素点(举例说明:如果当前像元的位置坐标是(5,5)那么与其相邻的四个像素点的坐标分别是(4,5)(5,6)(6,5)(5,4)。)的像素值来确定连通区域,如果像素值与当前像元的像素值是相等则属于同一个区域,否则不属于同一个区域;如果连通性像元个数等于8时,判断原理与等于4个的时候是一样的,只不过要多考虑对角线的方向相邻的四个像素(举例说明:如果当前像元的位置坐标是(5,5)那么与其相邻的八个像素点的坐标分别是(4,5)(4,6)(5,6)(6,6)(6,5)(6,4,)(5,4)(4,4)。)。算法运行后的结果栅格文件可通过ArcMap软件查看区域划分后的结果。
附图说明
图1为本发明的流程图。
图2为本发明的算法流程图。
图3为本发明的实施例3的原始栅格文件的示意图。
图4为本发明的实施例3的结果栅格文件的示意图。
具体实施方式
一种基于栅格文件的图像处理方法,包括以下步骤:
S1原始栅格文件特性的获取:获取原始栅格文件中每个区域栅格文件的特性数据;
S2像素点赋值:根据设定算法,对于每个区域栅格文件的所有像素点,进行赋值或不赋值,并进行标记;
S3区域重新划分;重复步骤S2直至所有像素点完成赋值和标记,进行区域重新划分,以得到栅格文件的最终区域划分结果,并保存。
其中步骤S2像素点赋值中算法采用区域合并分析算法。本文所描述的区域合并算法主要是用来对一个栅格文件的区域集进行分析和统计,通过连通性原理统计出每个像素点的连通区域。所谓的连通性原理指的是:一个区域内所有的像元具有相同的值,这里需要考虑判断连通性的相邻像元个数和区域连通性参数。当判断连通性的相邻像元个数等于4时,仅考虑当具有相同值的两个像元的位置关系是以上下左右相邻的方式直接连接时,才会定义这些像元之间的连通性(举例说明:如果当前像元的位置坐标是(5,5)那么与其相邻的四个像素点的坐标分别是(4,5)(5,6)(6,5)(5,4))。)。如果两个具有相同值的像元彼此只是对角线连接,则其不会被视为相连通,这是算法的默认设置;当该参数等于8时,仅当具有相同值的像元位于彼此最近的8像元邻域内(即:两个像元的位置关系是上下左右相接或者对角线相接)时,才会定义这些像元间的连通性(举例说明:如果当前像元的位置坐标是(5,5)那么与其相邻的八个像素点的坐标分别是(4,5)(4,6)(5,6)(6,6)(6,5)(6,4,)(5,4)(4,4))。)。
当区域连通性参数为Within时,则对满足空间连通性要求(由四向或八向number_neighbors参数指定)的同一区域中的像元进行分组。这是默认设置;当该参数为CROSS时,则对于具有有效值的像元,按照由排除值(excluded_value)指定的空间要求测试像元之间的连通性,使用CROSS时,必须对参数excluded_value进行赋值。excluded_value标识一个值,这样一来,如果当前的像元值等于该排除值参数时,则不管将邻近像元数指定为多少(FOUR或EIGHT),都不会评估空间连通性,等于排除值的像元将被视为无效值,不参与运算。
然后按照从左向右,自上而下的顺序依次对每个像元的连通区域赋以自1开始然后依次自加的像元值,在遍历的过程中如果遇见已经赋值的像元则跳过,然后继续遍历下一个像元,直至所有的像元都全部赋值结束,其中等于排除值和无效值的像元位置将直接赋以该栅格文件的无效值(无效值:每个栅格文件都存在无效的像素点,而这些无效的像素点对应的像元值就是该栅格文件的无效值),这里如果当前的像元值等于排除值或无效值时,则在对应的结果栅格文件中直接将该位置的像元值赋值为无效值即可。最后将所有的像元值保存在输出栅格文件中。
一个图像中所有像元的像元值就是该像元所呈现的色彩值或者灰度值,所以在一个栅格文件中,同一个连通区域的像元会呈现出同一个色彩或者同一个级别的灰度,这也是标示一个栅格文件中连通性区域最直接的形式了。
实施例1:
除了如本发明的主要方案外,具体地,对赋值后的所有像素点具体包括以下方法:
依据像素点的值对一个栅格文件进行区域划分,同一个区域中所有要素点的值是相同的,一个栅格文件存在很多个不同的区域,每一个区域中要素的值是相同的。
更进一步地,所述步骤S1中原始栅格文件的特性数据是通过获取原始栅格文件的每个区域栅格文件的数据对象进行的获取。
其中所述原始栅格文件数据对象具体是通过C++接口以调用的方式获取;所述原始栅格文件的特性数据包括栅格文件的宽度、高度、波段数以及空间参考信息。
基于步骤S2像素点赋值中,所述赋值则标记为ture,不赋值则标记为flase;针对所述步骤S3区域重新划分中,通过栅格文件像素点的值和目标像元周围连通性像元的个数来进行区域划分的,所述个数为偶数。
实施例2:
区域合并分析算法详细的实现步骤如下:
通过C++的图像获取接口调用原始文件的路径,获取原始文件的类对象;
通过原始文件类对象中的特性接口获取原栅格文件的高度,宽度,波段数,驱动名和空间参考等信息;
结合C++的图像生成接口和需要传入的必备参数(原栅格文件的高度,宽度,波段数,驱动名和空间参考等信息)以及结果栅格文件的路径,创建结果栅格文件的类对象;
通过原始文件类对象的接口获取原栅格文件中所有像素点的像元值数据;
依次遍历从原始文件中获取的所有像素点,依据上文描述的算法原理对每个像素点进行赋值;
待原栅格文件的所有像素点都计算完毕时,将最终结果保存在结果栅格文件中。
实施例3:
结合实施例1、实施例2的描述,本实施例给出具体实施方案。
本文所描述的区域合并算法是基于栅格文件(.tif)进行的,下面结合实例对该算法的运行过程进简单的说明。
首先,通过C++的接口调用原始栅格文件,原始栅格如图3所示,获取原始栅格文件的数据对象,通过该数据对象获取原始栅格文件的特性数据(包括栅格文件的宽度,高度,波段数,空间参考信息等)。
其次,依据原始栅格的特性数据创建同特性的结果栅格文件,然后再统计源栅格文件中的所有像素,依据算法的运行原理对原始栅格文件中的像素点进行统计和区域重分配,根据算法的需求传入相应的参数值,因为算法在运行过程当中每一个像素的处理过程是一个递归式的循环过程,所以就需要定义一个容器将原始栅格文件的所有像素点全部存放在该容器中,同时需要给每个像素点设置一个赋值标示值(当该值为false时:表示该像素值没有被赋值,可在后续的循环中对该像素进行赋值处理计算;当该值为true时,表示该像素值已经被赋值,如果后续的循环中再次碰到该像素时,直接跳过不予处理。),待所有的像素被处理完成后,最后,将重新分配的结果存储在结果栅格文件中,结果栅格文件如图4所示。
综上所述,本文所描述的区域合并算法主要在算法的运行性能上做了提升,因为算法在处理一个栅格文件时,一个连通区域中像素点的统计是一个不断膨胀的过程,而且一个栅格文件中所有的连通区域都是不确定的,这就导致程序在运行的过程中需要大量的循环,并且对文件中的每一个像素点进行遍历,所以要提升效率就需要着重对数据的存储方式和内存中数据的遍历进行考虑。
与传统的区域合并算法相比,本文的算法在实现的过程中加入了多线程的运行机制。
基于同一个栅格文件的算法运行效率对比:
由以上的表格可以看出本文算法在处理相同的数据时,大大缩短了算法的运行时间。
Claims (8)
1.一种基于栅格文件的图像处理方法,其特征在于,包括以下步骤:
S1原始栅格文件特性的获取:获取原始栅格文件中每个区域栅格文件的特性数据;
S2像素点赋值:根据设定算法,对于每个区域栅格文件的所有像素点,进行赋值或不赋值,并进行标记;
S3区域重新划分;重复步骤S2直至所有像素点完成赋值和标记,进行区域重新划分,以得到栅格文件的最终区域划分结果,并保存。
2.根据权利要求1所述的一种栅格文件的区域划分方法,其特征在于,对赋值后的所有像素点具体包括以下方法:
依据像素点的值对一个栅格文件进行区域划分,同一个区域中所有要素点的值是相同的,一个栅格文件存在很多个不同的区域,每一个区域中要素的值是相同的。
3.根据权利要求1所述的一种栅格文件的区域划分方法,其特征在于,所述步骤S1中原始栅格文件的特性数据是通过获取原始栅格文件的每个区域栅格文件的数据对象进行的获取。
4.根据权利要求3所述的一种栅格文件的区域划分方法,其特征在于,所述原始栅格文件数据对象具体是通过C++接口以调用的方式获取。
5.根据权利要求3所述的一种栅格文件的区域划分方法,其特征在于,所述原始栅格文件的特性数据包括栅格文件的宽度、高度、波段数以及空间参考信息。
6.根据权利要求1所述的一种栅格文件的区域划分方法,其特征在于,所述步骤S2像素点赋值中算法采用区域合并分析算法。
7.根据权利要求5所述的一种栅格文件的区域划分方法,其特征在于,所述步骤S2像素点赋值中,所述赋值则标记为ture,不赋值则标记为flase。
8.根据权利要求1所述的一种栅格文件的区域划分方法,其特征在于,所述步骤S3区域重新划分中,通过栅格文件像素点的值和目标像元周围连通性像元的个数来进行区域划分的,所述个数为偶数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010256238.6A CN111611210B (zh) | 2020-04-02 | 2020-04-02 | 一种基于栅格文件的图像处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010256238.6A CN111611210B (zh) | 2020-04-02 | 2020-04-02 | 一种基于栅格文件的图像处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111611210A true CN111611210A (zh) | 2020-09-01 |
CN111611210B CN111611210B (zh) | 2024-02-27 |
Family
ID=72194418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010256238.6A Active CN111611210B (zh) | 2020-04-02 | 2020-04-02 | 一种基于栅格文件的图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611210B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009149396A1 (en) * | 2008-06-06 | 2009-12-10 | Monsanto Technology Llc | Generating agricultural information products using remote sensing |
CN102270236A (zh) * | 2011-08-04 | 2011-12-07 | 中国科学院计算技术研究所 | 一种基于栅格化gis 空间关系判断方法及其系统 |
CN102930561A (zh) * | 2012-10-22 | 2013-02-13 | 南京大学 | 一种基于Delaunay三角网的栅格地图矢量化方法 |
CN108304845A (zh) * | 2018-01-16 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置及存储介质 |
-
2020
- 2020-04-02 CN CN202010256238.6A patent/CN111611210B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009149396A1 (en) * | 2008-06-06 | 2009-12-10 | Monsanto Technology Llc | Generating agricultural information products using remote sensing |
CN102270236A (zh) * | 2011-08-04 | 2011-12-07 | 中国科学院计算技术研究所 | 一种基于栅格化gis 空间关系判断方法及其系统 |
CN102930561A (zh) * | 2012-10-22 | 2013-02-13 | 南京大学 | 一种基于Delaunay三角网的栅格地图矢量化方法 |
CN108304845A (zh) * | 2018-01-16 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
徐光正等: "基于递归的二值图像连通域像素标记算法", vol. 32, no. 24, pages 186 - 188 * |
海涛;丛爽;鲍远律;: "彩色城市栅格地图道路网络自动获取方法", no. 12 * |
蔡林;李英冰;邹子昕;: "基于分级栅格化和改进细化算法的轨迹数据路网生成研究", 数字制造科学, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN111611210B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10510148B2 (en) | Systems and methods for block based edgel detection with false edge elimination | |
KR101199195B1 (ko) | 라벨 이미지의 생성 방법 및 화상처리 시스템 | |
US20050129316A1 (en) | Method for classifying a digital image | |
CN109767479B (zh) | 一种基于动态边界组序列的图元填充方法和系统 | |
EP3985615A1 (en) | Point cloud data processing device, point cloud data processing method, and program | |
US6690819B1 (en) | Method and apparatus for recognizing components | |
JP2004265264A (ja) | 画像処理装置 | |
CN111046782B (zh) | 一种用于苹果采摘机器人的果实快速识别方法 | |
CN104637066A (zh) | 基于序贯细化的二值图像快速骨架提取方法 | |
CN107194402B (zh) | 一种并行细化骨架提取方法 | |
US20060104532A1 (en) | Digital image processing method | |
JP6338234B2 (ja) | 領域分け方法、領域分けプログラム及び画像処理システム | |
CN108960247A (zh) | 图像显著性检测方法、装置以及电子设备 | |
CN111611210B (zh) | 一种基于栅格文件的图像处理方法 | |
CN108389221B (zh) | 三维图像的扫描方法及系统 | |
CN111815542B (zh) | 一种树木年轮图像髓心定位、年轮测量方法 | |
JP2010118030A (ja) | 検出候補の近傍排除処理機能を有する画像処理装置及び画像処理プログラム並びにコンピュータで読み取り可能な記録媒体 | |
CN105005991A (zh) | 一种高分辨扫描透射图像中批量计算原子质心位移的方法 | |
CN110751732B (zh) | 一种2d图像转3d图像的方法 | |
CN113255696B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN107742036A (zh) | 一种鞋样自动排料加工系统 | |
CN111739111B (zh) | 一种点云投影编码的块内偏移优化方法及系统 | |
CN113721628A (zh) | 一种融合图像处理的迷宫机器人路径规划方法 | |
CN111191518A (zh) | 一种双光谱目标检测框坐标同步及掩膜层绘制方法 | |
CN109993762B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 504, Block E, HUanpu science and Technology Industrial Park, 211 tianguba Road, high tech Zone, Xi'an City, Shaanxi Province, 710000 Applicant after: Tudou Data Technology Group Co.,Ltd. Address before: Room 504, Block E, HUanpu science and Technology Industrial Park, 211 tianguba Road, high tech Zone, Xi'an City, Shaanxi Province, 710000 Applicant before: SHAANXI TUDOU DATA TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |