
python工具方法
文章平均质量分 68
感觉本专栏博文不错的优快云朋友可以尽早订阅,随着内容的增加订阅价格会持续上涨。
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
万里鹏程转瞬至
一名热爱深度学习算法实践的算法工程师,工作日长期活动在线,有项目研发技术问题均可私聊。
展开
-
python工具方法 49 基于深度估计模型Depth-Anything-V2生成带雾图片
项目地址:https://github.com/DepthAnything/Depth-Anything-V2模型地址:https://hf-mirror.com/depth-anything论文地址:https://arxiv.org/abs/2406.09414在较多的带雾目标检测算法中均是基于大气散射模型的逆向操作生成带雾图片,具体参考,该模式生成的带雾图片真实感较差,且与物理规则有差异(),具体效果如下图所示。然而在真实世界中,是景深越大,雾气叠加越多(原创 2024-10-20 10:35:11 · 352 阅读 · 0 评论 -
python工具方法 48 基于视觉大模型生成目标检测数据集
核心代码如下所示,只是将text_prompt 赋值为"street lamp",将png_path中的特征名称改成"_street lamp_ng.png"生成的mask效果如下所示,billboards(广告牌)生成的mask与signs(标签)生成的mask基本相近,这是由于二者在形态特征上过度相似所导致的。核心代码如下所示,只是将text_prompt 赋值为"billboards",将png_path中的特征名称改成"_billboards_ng.png"原创 2024-03-27 22:07:15 · 272 阅读 · 0 评论 -
python工具方法 47 基于paddleseg将目标检测数据升级为语义分割数据
在进行项目研究时,通常需要搜集开源数据集。但是所能搜集到的数据集通常会存在形式上的差异,比如我想要的是语义分割数据,而搜集到的数据集却是目标检测数据;在这种情况下所搜集的数据就完成没有利用价值了么?不,其还存在价值,我们可以通过模型训练对数据标签的标注粒度进行优化。本博文基于paddleseg实现将烟火目标检测数据优化为烟火分割数据。具体效果如下所示:原始的目标检测数据变成了标注更为精准的语义分割数据。关于数据迭代中,在那一轮终止,又或者如果决断伪标签与原始真标签的差异并没有深入(原创 2024-03-10 20:53:36 · 342 阅读 · 0 评论 -
python工具方法 46 随机生成mask图像用于变化检测训练与图像修复训练
在进行变化检测训练中通常需要数据对进行标注,这是一件成本比较高的工作;同时,在进行图像修复训练中也需要随机生成mask。为此整理代码随机生成mask和变化图像。原创 2024-02-22 14:49:26 · 376 阅读 · 0 评论 -
python工具方法 45 基于ffmpeg以面向对象多线程的方式实现实时推流
RtspServer类用于实现视频推流,其子线程中run函数一直在拉取数据进行推流(由rate参数控制推流结果的分辨率),add_frame函数由主线程(外部线程)调用。使用vlc 打开rtsp://127.0.0.1:554/input,可以实现视频流播放。其基本操作就是,安装视频流推流服务器,ffmpeg,准备好要推流的视频。使用opencv拉流的代码极为简单,具体如下所示。原创 2024-02-16 12:03:08 · 963 阅读 · 0 评论 -
python工具方法 44 数据仿真生成(粘贴目标切片到背景图像上,数据标签校验)
在深度学习训练中数据是一个很重要的因素,在数据不够时需要我们基于现有的数据进行增强生成新的数据。此外,在某特殊情况,如对某些目标切片数据(例如:石块分割切片)预测效果较差,需要增强其在训练数据中的频率。故此,我们可以将先有数据标注中的目标裁剪出来,作为样本粘贴到其他的背景图像中生成新的训练数据。原创 2023-12-16 21:27:02 · 294 阅读 · 0 评论 -
python工具方法 43 yolo|voc数据离线增强(实现数据类型平衡)
在众多的目标检测训练代码中都支持在线数据增强,但并不能妥善的解决数据不平衡的问题(比如yolob8,paddledetion都无法指定类别权重;使用focal loss也只是可以缓解bbox样本不平衡,并不能完全缓解类别间的不平衡),故此需要离线数据增强手段来实现数据类别的平衡。对yolo数据离线增强,将扩展后的数据保存为jpg图片和txt标签。对于voc数据的增强也是通过yolo格式间接实现(yolo与voc数据格式的转换代码可以参考:python工具方法 41)。通过本博文的代码可以实现数据离线增强,结原创 2023-07-02 23:42:17 · 2602 阅读 · 0 评论 -
python工具方法 42 对YOLO|VOC数据进行统计分析(bbox面积统计、bbox位置分布、bbox尺寸分布、bbox可视化)
在进行目标检测训练中,应该对数据的分布及其结构有所了解,要明确数据中各个类别的频率,各个bboxe的空间分布、各个bboxe的size分布、各个bboxe的size分布位置分布、各个bboxes的面积与类型间的关系。博主在2022年11月23日曾发布过一个voc 数据分析的博文(python工具方法 37),后来在使用yolov8中发现遗漏了对boxes位置和size的分析,且代码不支持yolo数据,故重新完善代码支持对yolo|voc格式数据的分析,同时支持对数据进行可视化。由于不需要绘制太多的矩形框,且原创 2023-07-02 21:46:00 · 906 阅读 · 0 评论 -
python工具方法 41 对VOC|YOLO格式的数据进行resize操作(VOC与YOLO数据相互转换)
在目标检测中,相比于yolo格式,voc格式和coco格式都使用绝对值描述boxes的size,这在多数据集融合时存在一定的缺陷。尤其是在存在超高清影像中(在数据集中存在超高清影像通常会使dataloader内存不够用,或导致数据加载卡顿),我们不能仅对图像进行resize操作(还需要同时对xml或json文件中描述的boxes进行等比例换算操作)。为此实现对yolo数据、voc数据的resize操作。对于yolo数据,可以直接对大图图像批量进行resize操作;原创 2023-06-12 18:58:35 · 1116 阅读 · 0 评论 -
python工具方法 40 计算图像|矩阵间的余弦相似度
从向量乘法推演到向量夹角余弦值的计算方法,并推广到矩阵夹角余弦值计算,最终用numpy库实现计算高维矩阵每一个行向量之间的余弦距离计算。可以用此代码计算两个图像每一个像素位的余弦值【以rgb颜色值为向量,计算颜色的相似度】,也支持其它更多高维矩阵(把高维向量的最后一个维度用于计算余弦相似度)。原创 2023-06-10 07:26:50 · 491 阅读 · 0 评论 -
python工具方法 39 大图裁剪为小图|小图还原成大图(含生成大图伪标签)
在进行遥感影像的处理中,通常都是几万x几万的大型影像,这给数据标注(图像尺寸过大使标注软件不能正常打开或过大给标注带来困难)、训练模型(只能使用小图)、测试图片(在小图上预测需要还原成大图)、生成伪标签(需要大图的伪标签,而不是小图的)都带来了困难。针对此进行,实现函数一:大图裁剪为小图文件,实现函数二:小图还原成大图文件。原创 2023-04-29 18:02:49 · 1170 阅读 · 0 评论 -
python工具方法 38 xml旋转框数据转dato|yolo格式
具体数据情况如下所示,与voc数据类似,标注是存储在object标签中,但是标注类型是存储在A220中,在points标签中存储着5个point对象(最后一个point与第一个是相同的),其中每个point都存储着x,y的信息。dota格式:x1, y1, x2, y2, x3, y3, x4, y4, category, difficult其中difficult的值为0或1,0表示易样本,1表示难样本cate原创 2023-04-01 00:00:00 · 779 阅读 · 0 评论 -
python工具方法37 voc数据统计分析(box聚类、box散点图、类别频率统计、box面积统计)
对数据进行统计分析,有利于模型设计和精度优化,可以从数据层次对模型的性能进行分析。为此,博主实现了对voc数据各层次的分析,包含类别频率统计(饼图)、boxes面积统计(饼图)、boxes大小统计(散点图,kmean聚类)、分类别boxes面积统计(饼图)、分类别boxes大小统计(散点图,kmean聚类)。数据统计分析分两步实现:1、遍历xml数据,提取所有的boxes数据存储到pandas的dataframe中2、加载dataframe,对各类boxes信息进行统计。原创 2022-11-23 20:08:09 · 1361 阅读 · 0 评论 -
python工具方法36 lableme标注转voc格式再转yolo格式(含voc数据集划分代码)
labelme标注的目标检测数据不能直接用于训练深度学习模型,需要进行一定的格式转换才能用于训练。常见的数据格式有voc、coco和yolo。voc与coco格式在paddledetection和mmdetection库都支持,但yolo格式的标注只有在yolo系列的项目中才能支持。由于paddledetection和mmdetection库都支持将voc数据转换成coco格式,所以博主先实现labelme标注的json转换为voc格式,然后在将voc数据转换为yolo格式。原创 2022-10-10 20:08:59 · 2114 阅读 · 3 评论 -
python工具方法35 实现SWA,再一次提升模型的性能
SWA是论文Averaging Weights Leads to Wider Optima and Better Generalization所提出的一种无痛涨点的方式,只需要在模型训练的最后阶段保存模型权重,然后取模型权重的平均值,就可以提升模型的权重。按照论文描述,针对不同的模型基本上可以涨一个点。论文:SWA Object Detection详细描述了实验SWA后,模型的涨点效果。SWA的论文翻译:https://github.com/timgaripov/swa。原创 2022-09-24 11:47:25 · 1023 阅读 · 0 评论 -
python工具方法 34 语义分割数据中类别频率统计及class weight计算
在语义分割中,不同类型的目标尺寸不一样,这导致不同类型的mask(标注区域)面积不一样,比如遥感影像地物分类中,道路的面积较小,而植被的面积较大。所形成的像素级label中,植被的label数是道路的几百倍。在训练过程中,这是一种极度类别不平衡的情况,会使得模型倾向于将大部分数据预测为植被。因此需要统计出label中每一个类别出现的频率,调整其对交叉熵loss的贡献,使每一个类别的数据在训练时产生的监督信号是相等的。......原创 2022-08-09 15:10:07 · 1324 阅读 · 0 评论 -
python工具方法 33 基于lossFusion类实现多个loss的集成
在进行深度学习实践中,经常会使用到混合loss,无论是图像分类、还是语义分割。在图像分类中,经常将交叉熵与focalloss或者ghmloss进行混合;在语义分割中经常将交叉熵、diceloss、focalloss、iouloss、MS-SSIMloss等进行混合。使用混合loss通常能获得更为稳定的性能,且基于混合loss对评价指标(dice、iou)的优化,甚至能进一步提升性能。此外,如focalloss、ghmloss解决了样本不平衡的问题,也能提升性能。......原创 2022-07-24 11:16:16 · 707 阅读 · 0 评论 -
python工具方法 32 实现yaml配置文件的继承(仿paddledetection配置文件风格)
在上述描述中阐述了配置文件继承的必要性,那啥是配置文件的继承呢?下面以一段paddledetection中简单配置代码进行示例在下面配置文件中,由_BASE_项配置了该配置文件需要继承的配置项。这种继承关系是可以不断迭代的,可能在…/datasets/voc.yml文件中也配置了其他的配置项。_BASE_博主本来想在paddledetection库中查找到它们用来解析yaml格式配置文件的代码或者工具库,很遗憾的是并没有找到。于是就自己实现。...原创 2022-07-22 06:00:00 · 888 阅读 · 0 评论 -
python工具方法 31 通过导入自定义dll实现显存释放
博主研究了很多python的代码,发现都是无法释放显存的,或者说是释放显存不彻底。为此实现了自定义dll库,由python调用实现了释放显存。其中,自定义dll库导出给python使用可以参考vs2019导出动态链接库(dll)给其他vs项目及python代码使用_万里鹏程转瞬至的博客-优快云博客通过vs可以导出动态链接库(dll文件)给其他c++项目、c#项目、python项目使用。本案例实现将vs项目导出为动态链接库,给c++项目与python项目使用。涉及全局变量、函数、自定义类的导出。项目创建完成原创 2022-06-21 20:01:56 · 785 阅读 · 0 评论 -
python工具方法 30 用vs导出动态链接库(dll)给其他vs项目及python代码使用
通过vs可以导出动态链接库(dll文件)给其他c++项目、c#项目、python项目使用。本案例实现将vs项目导出为动态链接库,给c++项目与python项目使用。涉及全局变量、函数、自定义类的导出。项目创建完成后会得到以下结构, 可以将核心代码写在dllmain.cpp里面(原先的内容可以不用管),头文件信息写入在pch.h里面以下内容可以全部拷贝到pch.h中(博主的代码涉及到了cuda,所以需要配置以下cuda,cuda的配置可以参考libtorch显存管理示例_万里鹏程转瞬至的博客-优快云博客,各原创 2022-06-21 19:34:06 · 982 阅读 · 0 评论 -
python工具方法 29 基于Flask搭建自己的视频服务器网站
Flask作为一个轻量级的python web框架可以实现很多的功能。有的时候,在手机上下载视频网速较慢,这就可以改用电脑进行下载。但是,作为一名程序员下载好的视频其实是没有必要传输到手机上的,因为,可以通过Falsk搭建视频服务器,通过手机浏览器访问个人电脑ip(这里有一个前提,就是手机和电脑要在同一个局域网中)就可以流畅的播放电脑上的影视。搭建视频服务网站,本质分为3个部分,1、视频文件列表;2、视频文件播放页面、3、视频流输出接口。在浏览器端,用户能感受到的只有视文件列表,视频文件播放页面。视频流输出原创 2022-07-05 21:48:20 · 2486 阅读 · 0 评论 -
python工具方法 28 简单整理分享一些图像crop及展示的代码
将一些常用的功能封装为函数,可以减少开发中的代码冗余,并有利于提升开发速度。为此,博主整理了自己在开发中常用的图像处理函数:图像显示、多图批量显示、多图网格化显示、label图上色、将图像读取为tensor、将tensor转换为图片、把大图裁剪为多个小图(支持设置padding),把小图拼接为大图等9个功能。本文的第一节为全部库函数代码,后续为函数调用案例。1、全部代码#pip install nvidia-dali#pip install nvidia-pyindex#import nvid原创 2022-05-17 17:19:31 · 2638 阅读 · 12 评论 -
python工具方法27 训练时在线random resize的实现(支持图像分类与语义分割)
在训练过程中动态调整数据的尺寸可以增强模型对不同size尺寸物体的适应能力,是提升模型泛化能力的一种手段。如在paddledection套件中,就提供了参数设置多种size组合;此外,博主在拜读SegFormer模型论文时,作者也提到了使用0.5-2.0的倍率对训练数据进行缩放(作者操作还包含随机水平翻转和随机裁剪)。为此对该操作进行实现,对于图像的resize均使用PIL.Image实现与ai框架无任何关联,paddle、pytorch、tensorflwo都可以使用原创 2022-03-25 16:39:23 · 3637 阅读 · 2 评论 -
python工具方法 26 应用于图像分类的mixup与cutmix数据混合增强方式实现
1、数据增强方式介绍数据增强方式在方法上可以分为仿射变换、色彩变化、混合增强。仿射变换是指对图像进行缩放、旋转、平移和镜像等;色彩变化是指调节图像的明度、亮度和饱和度等(此外还可以使用各种滤波器对图像进行模糊、增强等操作);混合增强是指多图融合的增强手段,如mixup、cutmix等(此外还有cutup(又称random erasing))。这写增强方式也可以分为同类增强和混合增强,同类增强是通过对一张图像进行变化,从而达到增强的目的;而混合增强是指对多张图像进行融合,其返回的标签独热码也按照相应的原创 2022-03-18 17:29:11 · 6060 阅读 · 0 评论 -
python工具方法 25 txt标注(yolo格式标注)的目标检测文件转voc数据
该代码来自于 卫星应用赛题——海上船舶智能检测比赛中某网友公开的数据处理代码,可以将txt描述的目标检测数据转换为voc格式的数据。本章节对应的数据可视化如以下链接所示python工具方法 22 基于相对值描述的目标检测标注文件的可视化_a486259的博客-优快云博客1、创建基本目录这里假设标注数据(txt和jpg)都存储在train目录下,以下命令的意思是,创建Images、txts两个目录,并将train目录下的jpg文件复制到Images目录下,将txt文件复制到txts下mkdir转载 2022-02-21 00:20:28 · 679 阅读 · 1 评论 -
python工具方法 24 语义分割结果按连通域分割提取其外接矩形保存为yolo标注
将语义分割结果按每一种label下的连通域进行分割,并提取其外接矩形(x,y,h,w),并除以图像的size转化相对值描述的yolo标注。1、单个图片转矩形框用txt描述特别说明的是,对于图片以0为背景值,但保存的txt描述,class_index会减1。如果不适用于自己的数据,请将now_t-1修改为now_t即可import cv2import numpy as npfrom PIL import Imagedef get_rect(path,min_area=4): im原创 2022-02-20 14:52:32 · 1521 阅读 · 0 评论 -
python工具方法 23 应用于语义分割的F1,recall,precision,iou,kappa系数的计算工具(支持ignore_index)
使用工具sklearn是可以计算F1,recall,precision,iou,kappa系数这些指标的,但是当有很多个图片需要进行评价时,往往会导致内存不够。因此对F1,recall,precision,iou,kappa系数的计算方式进行分析,发现每张图片的预测结果只需要累加到混淆矩阵中即可,因此实现了可以针对于任意容量数据的测评,并附上用于测试图片目录的代码。1、指标计算工具具体实现方式如以下代码所示,每一行代码都有相应的注释,其核心部分就是_fast_confusion_matrix函数(用原创 2022-02-16 15:08:14 · 1894 阅读 · 1 评论 -
python工具方法 22 YOLO标注数据(基于相对值描述的boxes)可视化
虽然在目标检测中有labelme、labelimg等标注利器,但是在一些公开的数据集上,却不是使用这些公开的格式。而是一种基于长宽比描述的标准信息,如卫星应用赛题——海上船舶智能检测的数据集,使用相对值描述标注目标,具体如下图1所示:图1常见的标注格式针对于这种txt格式所描述的标注信息,无法快速的进行可视化,因此开发python脚本实现对这类数据的快速可视化。1、读取单个图片可视化并保存import glob,osimport numpy as npfrom skimage .原创 2022-02-15 22:01:33 · 1995 阅读 · 0 评论 -
python工具方法 21 应用于语义分割、图像分类、自动编码机的图像随机mask方法(Cutout方法、Random Erasing方法)
通过对图像随机添加mask可以消除模型在训练过程中对特定区域的过度依赖,让模型学习到对象中各个区域的联系。通过随机mask的方法,可以提升模型对语义区块的学习,提升模型的性能。其机理是,损失部分局部信息不会影响类别的判断。理论部分有待完善,先附上工程实现代码。基于numpy实现,适用于任意深度学习框架中的数据预处理阶段。话不多说,直接上代码。1、随机mask方法的实现以下共实现了两个随机mask方法,random_mask_one只能随机处理一个图片,random_mask_list可以安装相同原创 2022-02-02 22:16:22 · 2885 阅读 · 0 评论 -
python 工具方法 20 语义分割-小目标数据扩充
通过对小目标的扩充,可以增强模型对小目标数据的识别能力import numpy as npimport matplotlib.pyplot as pltfrom skimage import color,transform,io,filtersimport cv2,os,globfilenames=[]def convert_gray(f): global filenames filenames.append(f) rgb=io.imread(f) #依次读取r原创 2021-08-12 09:41:38 · 1211 阅读 · 5 评论 -
目标检测训练数据扩充增强工具使用说明
最近总有人私信我说这个工具该怎么用先附上资源地址:目标检测数据扩充增强工具_目标检测数据增强-深度学习文档类资源-优快云下载该工具基于DataAugmentationForObjectDetection框架,由python语言编写,支持的数据扩充方式有翻转、平移、旋转、缩放、裁剪。适用于已经转换为训练列表的目标检测数据,对于json标注、xml标注的数据需要先转换为txt训练列表才可以使用。扩充代码的注释说明扩充后的训练列表,用这个新的列表去训练模型扩充后的图...原创 2021-11-30 23:04:53 · 1673 阅读 · 6 评论 -
python工具方法 19 语义分割结果转labelme标注(可用于大图裁剪)
将语义分割结果进行转换为labelme标注后,可用再次进行调整,然后重新生成标注数据。此外,对于一些实例分割的coco数据,也可以将img和mask裁剪成小图后,重新利用这份代码重新生成标签绘图,然后再转coco数据。语义分割结果转labelme标注,本质上是利用opencv的多边形拟合功能,在进行拟合时发现对于中空图形的孔洞区域会拟合出背景区域的多边形,因此需要对背景区域进行计算区分,此代码生成的背景区域的label为_background_,值为0...原创 2021-11-27 10:06:00 · 2068 阅读 · 12 评论 -
python工具方法 18 labelme语义分割标注数据批量转换为png
本实例代码主要使用labelme.utils.shapes_to_label方法实现批量将将labelme的语义分割标注数据转换为图片,支持将标注保存为实例分割训练图、语义分割训练图、语义分割+原图效果叠加图。原创 2021-11-24 10:30:22 · 2776 阅读 · 0 评论 -
python工具方法 17 labelme标注的json文件转voc数据再转训练列表
支持一次性将labelme标注的json文件转化为训练列表,使用json2trainline,传入labelme_path即可# -*- coding: utf-8 -*-import osimport numpy as npimport codecsimport jsonfrom glob import globimport cv2import shutilfrom sklearn.model_selection import train_test_splitimport shu原创 2021-09-23 11:29:31 · 942 阅读 · 0 评论 -
python工具方法 16 保存模型分类后的数据及分类错误的数据
在ai模型训练完成后,在精度达不到100%的时候,必然会存在分类错误的数据需要进行加强分析;同时对于新采集的数据,使用AI进行进行预分类可以取得更加的效果。第一段的预测函数仅支持keras,请自行按需修改。后续的数据保存与框架无关工具方法一、加载模型读取数据并预测参数列表:数据的shape,模型的路径,数据的路径函数中参数列表,frequence表示预测数据的频次,pred_labels表示要分类的class数,按需求更改。同时要跟get_dir_index函数对的上号。可以用于测试有lab原创 2021-09-18 14:32:39 · 581 阅读 · 0 评论 -
python工具方法 15 基于opencv的多目标模板匹配
可以批量匹配单图中多个目标import cv2from skimage import transformfrom matplotlib import pyplot as pltimport numpy as npimport glob,osfrom skimage import io,morphology,color,transformdef calculate_IoU(predicted_bound, ground_truth_bound): pxmin, pymin, pxma原创 2021-08-12 16:14:28 · 1742 阅读 · 0 评论 -
python工具方法 14 批量压缩文件目录
针对于目录下文件数量较多较大繁琐的情况下,在有限的电脑内存中无法将整个目录的文件压缩成一个压缩包,且目前没有便捷化的分段压缩工具,因此,使用python代码实现,分段压缩成多个子包,后续如果有时间将进行可视化实现参数说明:path_dir=>需要压缩的目录nums=>多少个文件压缩成一个包压缩的输出为:zip_path_0.zip,zip_path_1.zip,import os,zipfiledef main(path_dir=r'F:\XXXX\XXXX',num原创 2021-01-23 19:55:08 · 355 阅读 · 3 评论 -
python工具方法 13 win系统字库保存为图片文件
将系统中的字体保存为图片,为orc提供训练数据一、字体库存储路径win10系统字库文件所在的目录为c:\Windows\Fonts\二、字体库提取保存代码代码中选择的字体库是Microsoft YaHei的,字库保存的代码如下#encoding: utf-8import osimport pygamechinese_dir = 'chinese/'#要保存的目录if not os.path.exists(chinese_dir): os.mkdir(chinese.原创 2020-10-14 17:17:56 · 344 阅读 · 0 评论 -
python工具方法 12 随机生成特定范围值的数组
1、随机生成整数(范围限定)生成10个0,5之间的整数:np.random.randint(0,5,size=10)生成shape为(3,4)的0,5之间的整数数组:np.random.randint(0,5,size=(3,4))2、随机生成浮点数(范围限定)生成10个0,5之间的浮点数:np.random.uniform(0,5,size=10)生成shape为(3,4)之间的浮点数:np.random.uniform(0,5,size=(3,4))3、随机从固定原创 2020-10-09 14:21:21 · 4258 阅读 · 1 评论 -
python工具方法 11 图像批量处理【灰度化、缩放、周边空白裁剪】
按照目录对图像进行灰度化、缩放(比例默认为1/3)、空白处裁剪(裁剪掉图片多余的空白)图像周边空白裁剪:按行和列统计图像四周的空白率,空白率过高的行和列将被裁剪掉(方法中设置为0.5,可以按需更改)图像周边空白裁剪前:图像周边空白裁剪后:空白率过高的列被裁剪掉了# -*- coding: utf-8 -*-"""图像转灰度,并均衡化"""from skimage import exposure,transform,data,io,colorfrom scipy impo原创 2020-10-04 18:31:50 · 935 阅读 · 2 评论