跳转到主要内容

kwimage 模块

项目描述

GitlabCIPipeline GitlabCICoverage Appveyor Pypi PypiDownloads ReadTheDocs

阅读文档

https://kwimage.readthedocs.io

Gitlab(主要)

https://gitlab.kitware.com/computer-vision/kwimage

Github(镜像)

https://github.com/Kitware/kwimage

Pypi

https://pypi.ac.cn/project/kwimage

此项目的官方网站为:https://gitlab.kitware.com/computer-vision/kwimage

kwimage 模块以高级别处理低级图像操作。

核心 kwimage 是一个功能库,包含与图像相关的辅助函数,这些函数要么在 OpenCV 中未实现,要么具有更通用的接口。

kwimage 模块基于 kwarray 构建,并提供了解决计算机视觉问题时常用的工具。这包括读取图像、调整大小、图像变形变换、运行长度编码和非极大值抑制等功能。

kwimage 模块也是我的注释数据结构的当前家,这些数据结构提供了在不同常见注释格式(例如不同的边界框/多边形/点格式)之间进行高效互操作的方法。这些数据结构同时具有 .draw.draw_on 方法,分别用于在 matplotlib 轴或 numpy 图像矩阵上叠加可视化。

请参阅文档:http://kwimage.readthedocs.io/en/main/

顶级 API 为

from .algo import (available_nms_impls, daq_spatial_nms, non_max_supression,)
from .im_alphablend import (ensure_alpha_channel, overlay_alpha_images,
                            overlay_alpha_layers,)
from .im_color import (Color,)
from .im_core import (atleast_3channels, ensure_float01, ensure_uint255,
                      exactly_1channel, find_robust_normalizers,
                      make_channels_comparable, normalize, normalize_intensity,
                      num_channels, padded_slice,)
from .im_cv2 import (connected_components, convert_colorspace, gaussian_blur,
                     gaussian_patch, imcrop, imresize, imscale, morphology,
                     warp_affine, warp_image, warp_projective,)
from .im_demodata import (checkerboard, grab_test_image,
                          grab_test_image_fpath,)
from .im_draw import (draw_boxes_on_image, draw_clf_on_image, draw_header_text,
                      draw_line_segments_on_image, draw_text_on_image,
                      draw_vector_field, fill_nans_with_checkers,
                      make_heatmask, make_orimask, make_vector_field,
                      nodata_checkerboard,)
from .im_filter import (fourier_mask, radial_fourier_mask,)
from .im_io import (imread, imwrite, load_image_shape,)
from .im_runlen import (decode_run_length, encode_run_length, rle_translate,)
from .im_stack import (stack_images, stack_images_grid,)
from .structs import (Box, Boxes, Coords, Detections, Heatmap, Mask, MaskList,
                      MultiPolygon, Points, PointsList, Polygon, PolygonList,
                      Segmentation, SegmentationList, smooth_prob,)
from .transform import (Affine, Linear, Matrix, Projective, Transform,)
from .util_warp import (add_homog, remove_homog, subpixel_accum,
                        subpixel_align, subpixel_getvalue, subpixel_maximum,
                        subpixel_minimum, subpixel_set, subpixel_setvalue,
                        subpixel_slice, subpixel_translate, warp_points,
                        warp_tensor,)

注意:KWIMAGE 结构可能会最终移动到 KWANNOT 仓库(但这个过渡可能需要一段时间)

kwimage 模块最显著的功能是 kwimage.structs 对象。这包括原始的 BoxesMaskCoords 对象,半原始的 PointsPolygon 结构,以及组合的 HeatmapDetections 结构(注意:Heatmap 仅是类似数组的结构的组合)。

原始和半原始对象存储和操作注释几何形状,组合结构将原始对象组合成一个单一的对象,使用 warp 操作共同操作这些原始对象。

Detections 结构是一个元结构,它关联其他更原始的组件,并允许开发人员将它们组合成表示感兴趣对象的某种形式。这种组合的详细情况留给最终应用。

Detections 对象还可以被“光栅化”并转换为 Heatmap 对象,它表示相同的信息,但更适合用于训练卷积神经网络。同样,神经网络的输出可以直接编码在 kwimage.Heatmap 对象中。然后可以使用 Heatmap.detect 方法将密集热图表示转换为更适用于对象检测系统使用的稀疏 Detections 表示。我们注意到 detect 函数不是一个特殊的检测算法。检测算法(属于 kwimage 范围之外)产生热图,而 detect 方法通过在热图中寻找峰值并运行非极大值抑制来有效地“反转” Detectionsrasterize 程序。

本模块包含三个图像注释原始数据结构

  • Boxes # 技术上这可以用 Coords 实现,但可能不是出于效率和解耦的考虑

  • Mask # 同样,这可以重命名为 Raster

  • Coords #

这些原始结构用于定义包含这些元数据的组合

  • Detections

  • Polygon

  • Heatmap

  • MultiPolygon

  • PolygonList

  • MaskList

所有这些结构都有一个 self.data 属性,它包含对底层数据表示的指针。

其中一些结构有一个 self.format 属性,描述底层数据表示。

大多数组合结构还有一个 self.meta 属性,它包含用户级元数据(例如关于类别的信息)。

安装

安装kwimage时存在一些小问题。OpenCV Python绑定存在一个问题,我们只能依赖《opencv-python》或《opencv-python-headless》包。如果您已经安装了这两个模块中的任何一个,您可以直接使用《pip install kwimage》而不会遇到与此相关的问题。但如果您还没有安装提供《import cv2》的模块,那么您应该使用以下“额外安装”标签之一来安装kwimage。

# We recommend using the headless version
pip install kwimage[headless]

# OR

# If other parts of your system depend on the opencv qt libs
# (NOT RECOMMENDED: this can conflict with pyqt5)
pip install kwimage[graphics]

某些功能还要求安装《span class="docutils literal">kwimage_extpip install kwimage_extpip install kwimage[optional]KWIMAGE_DISABLE_C_EXTENSIONS=1。

关于GDAL的说明

kwimage库可以使用GDAL库来执行某些任务(例如,地理TIFF的IO)。在没有依赖conda的情况下安装GDAL可能会很麻烦。Kitware还有一个pypi索引,为Linux系统托管GDAL轮子。

pip install --find-links https://girder.github.io/large_image_wheels GDAL

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适合您平台的应用程序。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

kwimage-0.10.2.tar.gz (340.8 kB 查看哈希值)

上传时间

构建分布

kwimage-0.10.2-py3-none-any.whl (344.0 kB 查看哈希值)

上传于 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面