datasets

数据集相关接口,用于操作整个数据集,而不是单张图片。

read

数据集读取相关的接口

config

读取配置文件中的标签,标记数值。

class RectO(xmin: str = '', ymin: str = '', xmax: str = '', ymax: str = '')[源代码]

矩形对象类,用于存储和处理矩形框的坐标信息

属性:

xmin (str): 矩形左边界x坐标 ymin (str): 矩形上边界y坐标 xmax (str): 矩形右边界x坐标 ymax (str): 矩形下边界y坐标

get_rectangle(filename: Path) Rect[源代码]

获取矩形框信息

参数:

filename (P) -- XML文件路径

返回:

矩形框字典

返回类型:

T.Rect

get_single_digit_values(filename: Path) Tuple[str, Rect][源代码]

获取单个数字的值和位置信息

参数:

filename (P) -- XML文件路径

返回:

返回值和矩形框信息的元组

返回类型:

Tuple[str, T.Rect]

get_xml_config(img_path: Path) Tuple[str, Rect][源代码]

获取XML配置信息

参数:

img_path (P) -- 图片文件路径

返回:

返回值和矩形框信息的元组

返回类型:

Tuple[str, T.Rect]

get_xml_config_path(img_path: Path, types: Literal['value', 'block', 'single'] = 'value') Path[源代码]

根据图片路径获取对应的XML配置文件路径

参数:
  • img_path (P) -- 图片文件路径

  • types (Literal) -- 配置类型,可以是'value'、'block'或'single'

返回:

XML配置文件路径

返回类型:

P

read_rect_from_file(xml_path: Path, type_: Literal['single', 'block'])[源代码]

从文件中读取矩形框信息

参数:
  • xml_path (P) -- XML文件路径

  • type (typeOfrect) -- 矩形框类型,可以是'single'或'block'

返回:

根据类型返回相应的矩形框信息

返回类型:

Any

read_rect_from_node(root: Iterable) Tuple[str, Rect][源代码]

从XML节点中读取矩形框信息

参数:

root (Iterable) -- XML根节点

返回:

返回值和矩形框字典的元组

返回类型:

Tuple[str, T.Rect]

read_single_digit_rect(filename) List[RectO][源代码]

读取单个数字的矩形框信息

参数:

filename -- XML文件路径

返回:

包含6个数字位置的矩形框列表

返回类型:

List[RectO]

read_xml(filename: Path)[源代码]

读取 xml 文件,获取 root 节点

read_xml_to_get(filename: ~pathlib.Path, read_func: ~typing.Callable[[~typing.Any], ~typing.Any] = <function read_rect_from_node>)[源代码]

读取并解析XML文件

参数:
  • filename (P) -- XML文件路径

  • read_func (Callable) -- 用于处理XML根节点的回调函数

返回:

回调函数的返回结果

返回类型:

Any

single

read data from disk.

处理单个数字数据集的函数,数据集格式为 dataset_name/[0-9]

path_fusion(root: Path, dataset_name: str, num: int)[源代码]

生成单个数字图像的路径 :param root: 根目录路径 :param dataset_name: 数据集名称 :param num: 数字(0-9)

返回:

对应数字图像的完整路径

read_rand_img(root: Path, get_dataset: Callable[[], str | Path], digit: int | str, promise=False) ndarray[源代码]

随机读取一张数字图像,单字 :param root: 根目录路径 :param get_dataset: 获取数据集名称的函数 :param digit: 要读取的数字或'x'(表示空白图像) :param promise: 是否确保路径存在

返回:

随机选择的数字图像数组

抛出:

Exception -- 当数据集中没有图像时抛出异常

read_single_digit(root_path: Path, get_dataset: Callable[[], str | Path], num: int, promise: bool) Callable[[], Iterator[Path]][源代码]

读取单个数字的所有图像 :param root_path: 根目录路径 :param get_dataset: 获取数据集名称的函数 :param num: 要读取的数字(0-9) :param promise: 是否确保路径存在

返回:

返回一个生成器函数,用于遍历该数字的所有图像路径

抛出:
  • AssertionError -- 当数字不在0-9范围内时抛出

  • Exception -- 当找不到图像时抛出

detection

Read block area.

sample_dataset = "M1L3XL"

def select_one(root_path, dataset_name: str) -> pathlib.Path:
  """第一个图片"""
  return pathlib.Path(detection.list_images(root_path, dataset_name)[0])


def test_read_to_get(root_path):
  res = detection.read_image_area(
    select_one(root_path, sample_dataset),
  )
  assert len(res) > 0

这样可以读取任意一个图片的 block 值.

get_random_image_file(root_dir: Path) Path[源代码]

获取随机图像文件

read_area_img(root: Path, get_dataset: Callable[[], str | Path], promise=False)[源代码]

return a meter-reading area img

read_area_pos(file_path: Path) Rect[源代码]

读取一个图片的长条矩形的坐标