一个python包来分析不同类型的文档

pyrack的Python项目详细描述


这是一个python包,用于分析在不同类型的文档中执行的检测。在当前版本中,它只支持在图像中检测到的对象。在

此版本与ImageAI使用预先训练的权重ResNet50执行的对象检测兼容。在

下载并将上述预先训练的权重放入本地文件夹中。在

所有的实现和测试都是使用来自MS COCO 2017数据集的随机样本执行的。一定要查看Demo文件夹中的笔记本,对您的自定义数据进行一些实验。在

安装

使用以下命令安装此软件包:

pip install --upgrade pyrack

要检测对象并对其执行某些分析,请使用以下命令导入包:

^{pr2}$

功能

以下功能可以在当前版本\

  1. 读取图像

此函数以numpy数组的形式读取并存储RGB颜色空间中的图像。在

img = obj.img(image_path)
  1. 显示图像

这将加载在上一步中读取的图像。在

obj.display_original_image(img)
^{1}$
  1. 定义模型路径

这里我们需要提到的是我们存储了用于目标检测的预先训练的模型权重的路径。在

model_path = obj.model_weights(os.path.join(path, 'resnet50_coco_best_v2.0.1.h5'))
  1. 检测图像中的对象

借助于上面加载的预先训练的权重,我们对步骤1中加载的图像执行目标检测。在

detections = obj.detections(img)
  1. 获取所有检测到的对象

在这里,我们打印上一步中检测到的所有对象的列表。在

detected_objects = obj.detected_objects(img, detections)
print(detected_objects)
  1. 获取所有检测到的对象的边界框(bbox)坐标

这里我们提取每个检测到的物体的bbox坐标。在

bbox = obj.bbox(detections)
  1. 获取感兴趣区域(roi)

从上面提取的bbox中,我们可以在检测到的图像周围绘制roi,我们可以在这些图像上执行进一步的操作。在

roi = obj.roi(img, detections)
  1. 调整投资回报率

在这里,我们将每个roi调整为(100100,3)维。太小的对象将在调整大小之前用黑色像素填充。在

resized_roi = obj.resized_roi(img, roi)
  1. 检测次数

在这里,我们打印加载图像上执行的检测总数。在

obj.number_of_detections(img, detections)
  1. 检测到唯一项目

此函数用于返回在图像中检测到的所有唯一项。在

obj.unique_items_detected(img, detected_objects)
  1. 每个唯一对象的计数

这里我们可以看到在图像中检测到的每个唯一对象的计数。在

obj.count_per_unique_item(img, detected_objects)
count_of_each_object
  1. 每个检测到的对象的形状

在这里我们可以看到每个被探测到的物体的三维形状。在

obj.detected_objects_shape(img, detected_objects, roi)
  1. 显示所有检测到的对象

在这里,我们分别显示从图像中检测到的每个对象。在

obj.display_all_objects(img, detected_objects, roi)
display_all_objects
  1. 显示特定对象

这里我们提供一个选项,只显示在图像中检测到的特定对象。在

obj.display_specific_image(img, detected_objects, roi)
display_specific_objects
  1. 显示所有调整大小的对象

在这里,所有调整大小的roi将被连接并显示为所有检测到的对象的一个图像。在

obj.display_all_resized_objects(img, detected_objects, resized_roi)
display_resized_objects
  1. 按类分组对象

在这里,我们将显示所有检测到的对象,并按其各自的类进行分组。在

obj.group_objects_by_class(img, detected_objects, resized_roi)
group_objects_by_class

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript节点js require()和Rhino Shell load()之间的区别是什么?   While循环中的java If语句   java GXT如何在XTemplate中显示treeobject?   如何将黑白图像加载到二进制文件中?   java ORMLite不知道如何存储班级航班。扫描仪。modelFX。机场航空公司的AirlineFx。使用另一个类或自定义持久器   java组织。阿帕奇。德比。客户是SqlException JSP和JSTL查询   spring如何将clob数据分配给java变量   java从上的表获取数据(Spring)   javaphp使用Exec执行带有用户定义参数的Jar文件   java jsonschema2pojo:引用相同类型的对象   使用原语从Scala调用Java vararg方法   java ClassNotFoundException:ClientBuilder Jersey 2.25.1 Tomcat 9.0   Android(Java)cr_BindingManager:无法调用determinedVisibility()从未看到pid的连接:   Java使用LocalTime类比较没有日期的时间   Java如何初始化对象的参数?