yidamyth / CutSubimg_Standard

Soil Image-Soil Subgragh Selection Algorithm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

土壤子图选择算法

目的:将所有代表进行整合, 最终的子图切割算法类!!!

1.把子图切割, 整成一个类, 输入文件夹, 然后保存子图就OK 2.获取最小外接矩形, 也整成一个类, 输入一个文件夹, 保存最小外接矩形的图像 3.调好所有代码

2021年11月26日11:36:08 所有代码全部调试好

FinalWandDOfSubimg: 子图切割的类

输入:带子图文件的路径 调用代码1获取外接矩形->在输入中生成一个文件夹Rectangle 调用代码2获取土壤子图->生成子目录 subimg 调用代码3汇总土壤子图->test

2022年02月28日15:15:14[FinallVersion2], 是对FinallVersion的更新

相当于是优化代码 做最终的实验, 会根据实验内容调整代码, 两次的代码并不完全相同.

2022年03月07日20:50:56 代码我全部写完了, 全部柔和到一起咯在算法3中, 然后我删掉了算法2. 算法2 我得回顾一下, 以及如何使用, 在下面介绍一下.

算法1 直接运行OneKeyCode.py 算法2 直接运行2OneKeyCode.py得到结果, 如果数据集太多可以使用Tools的CombinationTrainTest.py 合并数据集 参数: --path: 土壤原图数据集路径(已经分割好背景的, 有一点就是这里面指定了文件夹名称的, 所以你要改数据集就得改对应的class_img) --bbox: 是否使用最小外接矩形加速运算, 默认为True, 当为True时将获取的最小外接矩形保存在同级的Rectangle文件夹下 --img_size: 设置土壤图像的大小, 为偶数会好一点, 方便后面的训练, 不要取太小比如小于50 有些网络不太能识别 --same_path: 为了让算法2获取与算法1相同的子图数, 输入想要与相同土壤子图数据集路径; 当不开启自适应, 且num_sum为0的时候读取这个路径 --adaption: 默认为True, 开启自适应子图切割, 获取的子图数, 与每张图像的长宽及获取的子图大小有关 --rate: 字典类型{'m\l\r' 中间, 左边, 右边: 比例 }, 当{m:0}时不进行w矩阵两端的舍弃操作, 将对应W设置为0, 当为m的时候, 是把比例除以2 -> 没有对rate进行类型的判定, 而是直接传入一个字典? 这样的行为真的很蠢, 且不具有鲁棒性 --ratefip: 默认为False, 将舍弃的w区域进行取反, 把其它区域置为0, 仅在这个区域进行选择 --num_num: 默认为10, 获取10张土壤子图, 当自适应adaption关闭时, 选择num_num张土壤子图, 但当它为0时, 会主动去加载same_path路径 --broke: 默认为False, 不然的话你要传入一个字典{m:替换比例}, 一个是在两端\左边\右边进行选择, 一个是替换比例; 但是如何在定义过亮或者阴影区域 需要自己定义这个范围 --datasetname_end: 默认为空字符, 因为broke或者随机子图选择时, 获取多次数据集会重复, 所以添加一个结尾字符, 用于区分不同子集, 如1,2,3等 --random: 默认为False, 当它为true时 默认在w矩阵中随机进行土壤子图选择

About

Soil Image-Soil Subgragh Selection Algorithm


Languages

Language:Python 94.0%Language:Shell 6.0%