Skip to main content

Thư viện hữu ích của Tuấn Anh.

Project description

Giới thiệu

ntanh là một thư viện các nhiệm vụ hàng ngày sử dụng, hay dùng nhưng không khó, mất thời gian code cho các dự án lẻ tẻ.

Cài đặt bằng các cách sau:

pip install ntanh
pip install --upgrade --force-reinstall ntanh
pip install --upgrade ntanh --no-deps

Cài trực tiếp trong code:

try:
    os.system("python -m pip install --upgrade --force-reinstall ntanh --no-deps")
except Exception as e:
    print('ntanh:', e)
import ntanh

Cách dùng:

from pprint import pprint
from ntanh.ParamsBase import tactParametters
import ntanh

print(ntanh.__version__)
mParams = tactParametters()

fns = mParams.fnFIS(r"../", exts=(".py"))
pprint(fns)

Kết quả:

['../tact/setup.py',
 '../tact/__init__.py',
 '../tact/ntanh/__init__.py']

Ví dụ 2: tạo file tham số:

from pprint import pprint
from ntanh.ParamsBase import tactParametters

class Parameters(tactParametters):
    def __init__(self, ModuleName="TACT"):
        super().__init__()
        self.thamso1 = "thamso1"
        self.thamso2 = " xâu tiếng việt"
        self.api_url = "https://200.168.90.38:6699/avi/collect_data"
        self.testpath = "D:/test_debug_fii"
        self.test_real = 0.8
        self.test_int = 12
        self.test_dict = {
            1: 2,
            3: 4.5,
            "6": "bảy nhá",
            -1: "Tám",
            9: [10, 11.2, "22", (33, 44, "55")],
            10: {101: 12, 102: "mười ba"},
        }
        self.test_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

        self.load_then_save_to_yaml(file_path="configs_test.yml", ModuleName=ModuleName)
        self.privateVar1 = 2
        self.privateVar2 = "Not in param file"


mParams = Parameters(ModuleName="test")

pprint(mParams.__dict__)

Kết quả:

{'ModuleName': 'test',
 'api_url': 'https://200.168.90.38:6699/avi/collect_data',
 'fn': 'configs_test.yml',
 'logdir': '',
 'privateVar1': 2,
 'privateVar2': 'Not in param file',
 'test_dict': {-1: 'Tám',
               1: 2,
               3: 4.5,
               9: [10, 11.2, '22', (33, 44, '55')],
               10: {101: 12, 102: 'mười ba'},
               '6': 'bảy nhá'},
 'test_int': 12,
 'test_list': [1, 2, 3, 4, 5, 6, 7, 8, 9],
 'test_real': 0.8,
 'testpath': 'D:/test_debug_fii',
 'thamso1': 'thamso1',
 'thamso2': ' xâu tiếng việt'}

Console Running

3. Image dupplicate remover

Lệnh này sẽ di chuyển ảnh bị trùng lặp ra 1 folder khác (cấu hình trong file config), nhằm loại bỏ các ảnh quá giống nhau theo nội dung, nhưng so sánh theo tên liên tiếp (ảnh do video tách ra), training cho nhanh.

Command: ntanh_img_del

Lệnh này sẽ tạo 1 file config, đường dẫn sẽ hiển thị trên CMD, chúng ta vào đó cấu hình lại, rồi chạy

2. Image Augmentation

Intro: Lệnh này nhằm tăng cường ảnh, từ 1 thư mục ảnh gốc, nó sẽ tăng cường ảnh ra thành ảnh mới, có độ sáng, độ nét,... thay đổi theo cấu hình.

Command:ntanh_aug

Lệnh này sẽ tạo 1 file config, đường dẫn sẽ hiển thị trên CMD, chúng ta vào đó cấu hình lại, rồi chạy

1. Help

Command: ntanh

Lệnh này sẽ hiển thị help có các trường hợp sử dụng cơ bản

Version changed

  • V3.6 (2024-10-24): ntanh\ImageProcessing, ntanh\Thoi_gian

    • V3.6.3 (2024-10-26): image_augmentation
      • Thêm các hàm liên quan đến analisys timming
      • Thêm các hàm vẽ ảnh từ xyxyn
      • Thay đổi cách thực thi augment để có thể dùng chung console và python
    • V3.6.2 (2024-10-26):
      • Thêm ImageAugmentation.Augment_image_in_multiple_ways trong ntanh.image_augmentation để Aug ảnh trong code python khi sử dụng.
    • V3.6.1 (2024-10-26):
      • Fixbug ntanh_aug: cắt ảnh khi tọa độ sát mép biên, nếu cover_yolo_string__expand_n_pixel>0 thì nó sẽ lấy sai vị trí của người dùng mong muốn.
    • Thêm thư viện liên quan đến ImageProcessing, và Timers
    • ImageProcessing:
      • rotate_image, ImageInfomation
      • fnPlot_Warp_Text,PlotText_UTF8,PlotText_UTF8_outline,putTextWithOutline
    • Timers:
      • MultiTimer(): đo thời gian các đoạn code chạy để tối ưu hóa.
  • V3.5 (2024-10-23): YOLO_Logic

    • V3.5.1: Thêm thư viện from ntanh.Thoi_gian.taTimers import MultiTimer
    • Thêm ntanh\YOLO_Logic\Labels_Filter.py: Mục tiêu là filter list các bboxes, loại bỏ nhiễu, theo các dạng khác nhau (có nhiều hàm, nhiều cách dùng khác nhau)
    • Thêm ntanh\YOLO_Logic\Logic_Comparison.py: So sánh label theo quy luật: số lượng labels nào đó phải nằm trong vùng cho phép.
        from ntanh.YOLO_Logic.Labels_Filter import (
            clsLabelFilter_list_bboxes,
            clsFilter_Frames_sep_by_labels,
            fnRemove_outliers_online,
        )
        from ntanh.YOLO_Logic.Logic_Comparison import compare_labels
    
  • V3.4 (2024-10-23):

    • Thêm hàm YoloCrop: image = YoloCrop(image_cv2, coverYolo_str, Delta_Expand=0), hàm này sẽ cắt ảnh trực tiếp từ xây yolo.
  • V3.3 (2024-10-17):

    • V3.3.7-8 (2024-10-19): Thêm console ntanh_base_params_help, in ra cách dùng của BaseParams, fixbug

    • V3.3.6 (2024-10-18): thêm chức năng resize ảnh sau crop theo list cover_yolo_string__resize_after_crop_HW, nếu không muốn resize, đặt thành []

    • V3.3.4 (2024-10-18): fix lỗi lệch tọa độ các object bên trong ảnh, khi crop ảnh bằng cover_yolo_string

    • V3.3.3 (2024-10-18): Update chỉ dẫn trong help ntanh để cập nhật thêm các tên của các thư viện khác.

    • V3.3.2 (2024-10-18): Update this document.

    • V3.3.1 (2024-10-18): Bổ sung hướng dẫn trong lệnh anhnt, thêm hướng dẫn link ra https://ntanhfai.github.io

    • Thêm chức năng crop + tính toán lại tọa độ yolo label theo ảnh mới mà vẫn đúng object theo ảnh cũ.

  • V3.2 (2024-10-17):

    • Thay đổi cách ParamsBase lưu cấu hình, không để nó chồng chéo các project khác nhau trong cùng 1 project này nữa.
  • V3.1 (2024-10-17):

    • Thêm chức năng Xóa ảnh trùng lặp trong thư mục yolo training data. Chạy lệnh ntanh_img_del, sửa config, chạy lại, nó sẽ move ảnh+label trùng lặp ra thư mục output.
    • Nó tính toán xong hết rồi mới move, nên nếu thấy lâu quá thì kệ nó chạy, hoặc là chạy cho các thư mục nhỏ nhỏ thôi.
    • Từ nay sẽ đổi cách tính version: mỗi lần có thêm 1 chức năng mới, sẽ lên 1 version chính, số phụ đằng sau sẽ là số lần update chức năng nào đó.
  • V0.1.7 (2024-10-16):

    • Thêm chức năng Augment ảnh theo folder
      • Có thể chạy augment image trực tiếp trong console, thay đổi cấu hình trong file config, đường dẫn file config sẽ được hiển thị trong console khi chạy.
    • Thêm hàm ntanh.ParamsBase.get_Home_Dir(AppName), Hàm này sẽ tạo folder C:\RunProgram\AppName và trả về đường dẫn. Mặc định cho tất cả các ứng dụng, dễ dùng và tập trung, không bị nhầm lẫn.
  • V0.1.6 (2024-10-14):

    • Thêm thư viện convert yolo-bbox: from ntanh.yolo_boxes import xyxy_to_yolo_str, yolo_str_to_xyxy
    • print: ntanh.__help__ sẽ ra hướng dẫn.
    • V 0.1.6.1:
      • Thay đổi thứ tự tham số trong hàm Yolo convert, trả kết quả dạng int thay vì float khi convert yolo2bbox
  • V0.1.5 (2024-10-14):

    • Hoàn thiện chức năng tạo file config cho mỗi class: from ntanh.ParamsBase import tactParametters
    • Cập nhật readme, diễn giải nội dung.
    • Chạy ntanh.info() sẽ in ra code mẫu.
  • V0-V0.1.4:

    • Test upload.

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

ntanh-3.6.3.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

ntanh-3.6.3-py2.py3-none-any.whl (29.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ntanh-3.6.3.tar.gz.

File metadata

  • Download URL: ntanh-3.6.3.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for ntanh-3.6.3.tar.gz
Algorithm Hash digest
SHA256 1118fb2e45c90434de6686177afd915d2806d0a67a46ed89dc3f5ee38738e71c
MD5 a728c13299c0d41100b4971fae7a7387
BLAKE2b-256 799064abfe3f7e88dac40acc0939e62e7cd1f8232fa65f0274b596ff9a24ead2

See more details on using hashes here.

File details

Details for the file ntanh-3.6.3-py2.py3-none-any.whl.

File metadata

  • Download URL: ntanh-3.6.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for ntanh-3.6.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0d450f0e435c2f1523dfbe370e7e02b382d0f80dfd2431e45e1cbd6407a07e07
MD5 e848b034c2f36706dcc5ca3987b1ac0f
BLAKE2b-256 64acedd6069555ddbcce216b8123175331de03aade55dccd8a409b51c3d09ae9

See more details on using hashes here.

Supported by

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