انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: تشخیص رنگ با پایتون  (دفعات بازدید: 2204 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
تشخیص رنگ با پایتون
« : 10 مهر 1396، 05:22 ب‌ظ »
سلام
من می خوام که یک عکسی رو به پایتون بدم (یک عکس کوچیک ) بعد پایتون بگه که این احتمالا (احتمال مهم هست یعنی یک رنجی زو به هر رنگ نسبت بده) چه رنگی هست؟
روش هایی که توی اینترنت دیدم برعکس عمل می کردند یعنی که رنگ رو باید خودم مشخص کنم بعد پایتون بگه که آیا تصویر این رنگی هست یا نه که این بدردم نمی خوره
مثلا اینجا: https://henrydangprg.com/2016/06/26/color-detection-in-python-with-opencv/
و تا حدامکان سریع هم باشه.البته فعلا روی سرعتش تمرکز ندارم.
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : تشخیص رنگ با پایتون
« پاسخ #1 : 10 مهر 1396، 08:01 ب‌ظ »
سوالت واضح نیست.

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : تشخیص رنگ با پایتون
« پاسخ #2 : 10 مهر 1396، 10:12 ب‌ظ »

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ : تشخیص رنگ با پایتون
« پاسخ #3 : 11 مهر 1396، 02:21 ق‌ظ »
فکر کنم این کمک کنه:
https://stackoverflow.com/questions/2270874/image-color-detection-using-python

آره تاحدی کمک کرد.

با pil و  webcolors تقریبا به چیزی که می خواستم رسیدم
from PIL import Image
import webcolors
import sys


def closest_colour(requested_colour):
    min_colours = {}
    for key, name in webcolors.css3_hex_to_names.items():
        r_c, g_c, b_c = webcolors.hex_to_rgb(key)
        rd = (r_c - requested_colour[0]) ** 2
        gd = (g_c - requested_colour[1]) ** 2
        bd = (b_c - requested_colour[2]) ** 2
        min_colours[(rd + gd + bd)] = name
    return min_colours[min(min_colours.keys())]

def get_colour_name(requested_colour):
    try:
        closest_name = actual_name = webcolors.rgb_to_name(requested_colour)
    except ValueError:
        closest_name = closest_colour(requested_colour)
        actual_name = None
    return actual_name, closest_name

i = Image.open(sys.argv[1])
c=max( i.getcolors())[1]

actual_name, closest_name = get_colour_name(c)
print ("Actual colour name:", actual_name, ", closest colour name:", closest_name)


البته بازم اگر کسی چیز بهتری داشت بگه.
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره