Giter Site home page Giter Site logo

ashkanjalaliq / pillow_project Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 2.0 3.48 MB

این پروژه اپن سورس برای کار با عکس ها هست. با استفاده از این برنامه میتونید روی عکس هایتان انواع افکت هارو اعمال کنید

License: MIT License

Python 100.00%

pillow_project's Introduction

🔥پروژه پیلو

این پروژه اپن سورس برای کار با عکس ها هست. با استفاده از این برنامه میتونید روی عکس هایتان انواع افکت هارو اعمال کنید

لیست تغییرات

99/6/30

فایل اصلی برنامه با تغییراتی روبرو شده است. چند قسمت جدید به برنامه اضافه کردم که کار باهاش رو راحت تر میکنه. خوشحال میشم امتحانش کنید...

99/7/1

اضافه کردن فایل راهنما برای آشنا شدن بازدیدکنندگان با پروژه

99/7/5

قابلیت اجرا کردن برنامه با یک کامند مهیا شد. یعنی فقط با یک خط میتونید همه درخواست هایتان نظیر بازکردن عکس، ویرایش عکس و سیو کردن عکس را انجام دهید. قسمت جذاب برنامه اینجاست که اگر کلماتی مثل اسم افکت هارو اشتباه بنویسید، برنامه نزدیک ترین کلمه به اون کلمه اشتباه رو پیدا میکنه و جای اون میذاره

99/7/11

اضافه کردن چند افکت دیگر به برنامه. اضافه کردن بخش help به برنامه

99/7/17

اضافه کردن بخش استخراج متن از عکس. حل برخی مشکلات

99/8/1

اضافه شدن قسمت جدید به برنامه! هم اکنون میتوانید عکس هایی که با وبکم میگیرید را ویرایش کنید. یعنی در لحظه ای که میخواهید با وبکم از خودتان عکس میگیرید و آن را ویرایش میکنید

نصب لایبرری ها

pip install -r requirements.txt

تابع های اعمال فیلتر

Grayscale

def gray_scale(image):
    image = ImageOps.grayscale(image)
    image = image.convert('RGB')
    return image

Negative

def negative(image):
    image = ImageChops.invert(image)
    image = image.convert('RGB')
    return image

Black and White

def b_and_w(image):
    gray = image.convert('L')
    image = gray.point(lambda x: 0 if x < 128 else 255, '1')
    image = image.convert('RGB')
    return image

Contour

def contourfilter(image):
    return image.filter(ImageFilter.CONTOUR).convert('RGB')

Edgeenhance

def edgeenhance(image):
    return image.filter(ImageFilter.EDGE_ENHANCE_MORE).convert('RGB')

Emboss

def emboss(image):
    return image.filter(ImageFilter.EMBOSS).convert('RGB')

Findedges

def findedges(image):
    return image.filter(ImageFilter.FIND_EDGES).convert('RGB')

Blur

def blur(image):
    many = 5
    return image.filter(ImageFilter.GaussianBlur(many)).convert('RGB')

Smooth

def smooth(image):
    return image.filter(ImageFilter.SMOOTH_MORE).convert('RGB')

Halftone

def halftone(img, sample, scale, angle=45):
    img_grey = img.convert('L')  
    channel = img_grey.split()[0]  
    channel = channel.rotate(angle, expand=1)
    size = channel.size[0]*scale, channel.size[1]*scale
    bitmap = Image.new('1', size)
    draw = ImageDraw.Draw(bitmap)
    for x in range(0, channel.size[0], sample):
        for y in range(0, channel.size[1], sample):
            box = channel.crop((x, y, x+sample, y+sample))
            mean = ImageStat.Stat(box).mean[0]
            diameter = (mean/255) ** 0.5
            edge = 0.5 * (1-diameter)
            x_pos, y_pos = (x+edge) * scale, (y+edge) * scale
            box_edge = sample * diameter * scale
            draw.ellipse((x_pos, y_pos, x_pos+box_edge, y_pos+box_edge), fill=255)
    bitmap = bitmap.rotate(-angle, expand=1)
    width_half, height_half = bitmap.size
    xx = (width_half - img.size[0]*scale) / 2
    yy = (height_half - img.size[1]*scale) / 2
    bitmap = bitmap.crop((xx, yy, xx + img.size[0]*scale, yy + img.size[1]*scale))
    return Image.merge('1', [bitmap])

طریقه استفاده⚡

python main.py

اجرای برنامه افکت با یک دستور(با استفاده از عکس ذخیره شده)

>>> Please Enter Command
[-nr/-r] "{image address}" edit {effect name} "{export name}"

نمونه ورودی و خروجی

عکس ورودی

>>> Please Enter Command
-r "Rainbow-Rose.jpg" edit blur "Rainbow-Rose-blur"

عکس خروجی

اجرای برنامه افکت با یک دستور(با استفاده از دوربین وبکم)

>>> Please Enter Command
-o camera edit {effect name} "{export name}"

نمونه ورودی و خروجی

>>> Please Enter Command
-o camera edit blackandwhite "Ashkan"

اجرای برنامه تشخیص متن با یک دستور

>>> Please Enter Command
[-nr/-r] "{image address}" tool image_to_text [fas/eng] "{export name}"

مثال

>>> Please Enter Command
-r "hello.png" tool image_to_text eng "chebahal"

با زدن کد بالا عکس hello.png باز میشود و متن آن توسط برنامه تشخیص داده میشود. بعد از تشخیص متن، متن استخراج شده در فایل chebahal ذخیره میشود.

فایل ذخیره شده:

قابلیت تشخیص کلمه اشتباه

این قابلیت به شما کمک میکند که اگر نام افکتی را غلط نوشتید، برنامه نزدیک ترین کلمه به کلمه اشتباه شما را پیدا کند و جای آن بگذارد.

مثال

>>> Please Enter Command
-r "photo.png" edit grayscfel negitave balkandwite "Salam_aziz"

شکل تصحیح شده:

-r "photo.png" edit grayscale negative blackandwhite "Salam_aziz"

> در این صورت برنامه دستور شما به صورت شکل بالا تصحیح میکند

طریقه استفاده از بخش help

>>> Please Enter Command
--help

لیست کار ها

  • اضافه کردن رابط کاربری به برنامه
  • استخراج متن از عکس
  • عکس برداری با وبکم
  • ساخت افکت های جدید
  • ساخت قسمت help
  • چک کردن کامند کاربر و پیشنهاد به او
  • ساخت افکت سفید و سیاه
  • ساخت افکت نگاتیو
  • ساخت افکت گری اسکیل
  • قابلیت دیدن پیشنمایش عکس قبل از ذخیره
  • نشان دادن تغییراتی که روی عکس اعمال کرده اید
  • اجرای برنامه فقط با یک خط دستور
  • قابلیت تشخیص کلمه اشتباه نظیر نام افکت و تصحیح آن

pillow_project's People

Contributors

aidinazari avatar ashkanjalaliq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.