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

    • 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.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

ntanh-3.6-py2.py3-none-any.whl (26.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: ntanh-3.6.tar.gz
  • Upload date:
  • Size: 24.5 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.tar.gz
Algorithm Hash digest
SHA256 5448e3fd39729bd52d0ac8fd8cfd6162569655217c00e85e892d03256e85654b
MD5 8dc9567ad28004cc22d5734909fd4e5d
BLAKE2b-256 5c9851f4d3020a72a725ba906c023da4a1acb7f8942d752e04afc5e6187a5040

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ntanh-3.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 26.0 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-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 13f2b91ca98bf0e040bbcc1cc6e5486477ec9dd857df16f6445f248688240bc2
MD5 f356fda7cd97ecce4283572e0ac59cd5
BLAKE2b-256 b36fc89a8d617216bc1cc1644f3c7d4d9aad18599452ba7eae442a7204e2ad79

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