Skip to main content

Small cv2/Pillow image-processing utilities (load/save, resize/rotate/crop, blur/sharpen/edge, drawing) — standalone module from the SciTeX ecosystem

Project description

scitex-cv

SciTeX

Small cv2-based image utilities — I/O, transform, filters, drawing.

Full Documentation · uv pip install scitex-cv[all]

PyPI Python Tests Coverage Docs License: AGPL v3


Installation

pip install scitex-cv

Architecture

scitex_cv/
├── __init__.py        ← public API (load, save, resize, blur, edge_detect, ...)
├── _io.py             ← image I/O wrappers (PIL / OpenCV backends)
├── _transform.py      ← geometric transforms (resize, crop, rotate)
├── _filters.py        ← blur, sharpen, edge-detect filters
└── _draw.py           ← annotation helpers (draw boxes, text, masks)

Thin, opinionated wrapper around PIL + OpenCV — every public name in __init__.py re-exports from one of the four leaf modules above.

Quick Start

import scitex_cv as cv

img = cv.load("input.png")
img = cv.resize(img, scale=0.5)
img = cv.blur(img, ksize=5)
edges = cv.edge_detect(img, method="canny")
cv.save(edges, "edges.png")

1 Interfaces

Python API
import scitex_cv as cv

# I/O
img = cv.load("input.png")
cv.save(img, "out.png")
gray = cv.to_gray(img); rgb = cv.to_rgb(img); bgr = cv.to_bgr(img)

# Transform
cv.resize(img, scale=0.5)
cv.rotate(img, angle=90)
cv.flip(img, direction="horizontal")
cv.crop(img, x=10, y=10, width=100, height=100)
cv.pad(img, top=10, bottom=10, left=10, right=10)

# Filters
cv.blur(img, ksize=5); cv.sharpen(img)
cv.edge_detect(img, method="canny")
cv.threshold(img, thresh=128); cv.denoise(img)

# Drawing
cv.rectangle(img, (5, 5), (30, 30), color=(0, 255, 0))
cv.circle(img, (50, 50), radius=10)
cv.line(img, (0, 0), (100, 100))
cv.arrow(img, (0, 0), (50, 50))
cv.text(img, "label", (10, 30))
cv.polylines(img, points=np.array([[0, 0], [100, 0], [100, 100]]))

Demo

flowchart LR
    F["input.png"] --> L["cv.load()"]
    L --> R["cv.resize(scale=0.5)"]
    R --> B["cv.blur(ksize=5)"]
    B --> E["cv.edge_detect(method='canny')"]
    E --> S["cv.save('edges.png')"]
    S --> O["edges.png"]

Status

Standalone fork of scitex.cv. Only deps are numpy + opencv-python. The umbrella package's scitex.cv import path is preserved via a sys.modules-alias bridge.

Part of SciTeX

scitex-cv is part of SciTeX. Install via the umbrella with pip install scitex[cv] to use as scitex.cv (Python) or scitex cv ... (CLI).

Four Freedoms for Research

  1. The freedom to run your research anywhere — your machine, your terms.
  2. The freedom to study how every step works — from raw data to final manuscript.
  3. The freedom to redistribute your workflows, not just your papers.
  4. The freedom to modify any module and share improvements with the community.

AGPL-3.0 — because we believe research infrastructure deserves the same freedoms as the software it runs on.

License

AGPL-3.0-only (see LICENSE).


SciTeX

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scitex_cv-0.2.0.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scitex_cv-0.2.0-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file scitex_cv-0.2.0.tar.gz.

File metadata

  • Download URL: scitex_cv-0.2.0.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for scitex_cv-0.2.0.tar.gz
Algorithm Hash digest
SHA256 65401dd641088841a84be3a7c4426153dced64c2194f0ec170e11190f765e650
MD5 733f21861e17bbbc7fd5b184aa689ff9
BLAKE2b-256 8ec8aa07b1e06403bba497a281515fdb21c38a7320bef01ae558b550c61bbd0e

See more details on using hashes here.

File details

Details for the file scitex_cv-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: scitex_cv-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for scitex_cv-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86f7a60b397cc78b0ffe2c4e7376cd3b466449aa4c52d75853aa05ad232dff85
MD5 8217ab520d70062dbcab24f627b33bc8
BLAKE2b-256 89bc3ddb03641519f66566e7c773b064dba02b882fc1ac5a3d36099d308e4bf7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page