דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. פענוח היסטוגרמה

פענוח היסטוגרמה

מתוזמן נעוץ נעול הועבר ארכיון code613m
12 פוסטים 4 כותבים 889 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • M מנותק
    M מנותק
    magicode
    כתב ב נערך לאחרונה על ידי
    #1

    אני רוצה להבדיל בין סוגי תמונות.

    בין תמונה מצולמת לתמונה למצויירת.

    עכשיו אם אני עושה הסטוגרמה. ( מדידה משוקללת של הסכום הכולל של ערכי הצבע ) אני מקבל הבדל ברור.

    בגלל שבתמונה מצולמת יש הרבה יותר מגוון של צבעים.

    כמו פה

    היסטוגרמה.png

    עכשיו אני מקבל את זה בצורת מערך של 64 אברים שכל אבר מכיל ערך לדוגמא מ 0 עד 1. כל אבר מיצג בתמונה קו ואם הוא 100 הקו מופיע עד למעלה ואם הוא 0 הוא לא מופיע בכלל ואם הוא 0.5 הוא מופיע חצי וכן הלאה.

    איך אני יכול לקבוע כלל שיהיה אפשר לפי המערך להבדיל בין תמונה מצולמת לתמונה מצויירת.

    פורסם במקור בפורום CODE613 ב17/07/2013 23:36 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • א מנותק
      א מנותק
      ארכיטקט
      כתב ב נערך לאחרונה על ידי
      #2

      אתה מתכוון בין תמונה מצולמת לבין שירטוט/איור ממוחשב, כי ציור מעשה ידי אדם, כשהוא סרוק, יכול גם הוא להיות עשיר בגוונים כגון צבעי גואש וכדומה.

      אז אני הייתי עושה אלגוריתם שמבחין בין צבעים קרובים, כלומר ככל שיש יותר גיוון בדרגות קירוב באותו צבע, זה יותר נוטה סטטיסטית לתמונה מצולמת, קח לדוגמא את התפוז, יש בו כל כך הרבה גוונים של כתום, שלא ייתכן לומר שזה איור. כשמאיירים תפוז, הייתי מצפה לכל היותר ל 4-5 גווני כתום.

      בהצלחה.

      פורסם במקור בפורום CODE613 ב17/07/2013 23:53 (+03:00)

      אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

      תגובה 1 תגובה אחרונה
      0
      • dovidD מחובר
        dovidD מחובר
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        איזה מאתגר הנושא 🙂

        אני מתמקד בשאלתך ולא בהקדמה:
        לפי מה שאני רואה בדוגמאות, אז הרעיון הוא סטיית תקן גבוהה (מעל 0.2 נגיד).
        אולי בשביל ביצועים עדיף לבדוק סטיית תקן מדגמית.

        הנה דוגמא מאקסל, שתי טורים, הימיני כאילו ציור והשמאלי תמונה:
        0.80 0.20
        0.00 0.25
        0.00 0.30
        0.30 0.35
        0.00 0.40
        0.00 0.35
        0.40 0.30
        0.00 0.25
        0.00 0.20
        0.00 0.15

        התוצאה של הנוסחה STDEV.P (סטיית התקן מלאה לא מדגמית)
        0.257875939 לטור הימני.
        0.075 לטור השמאלי.

        פורסם במקור בפורום CODE613 ב18/07/2013 11:15 (+03:00)

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        0
        • M מנותק
          M מנותק
          magicode
          כתב ב נערך לאחרונה על ידי
          #4

          STDEV.P זה נוסחה שקיימת באקסל ?

          פורסם במקור בפורום CODE613 ב18/07/2013 12:16 (+03:00)

          תגובה 1 תגובה אחרונה
          0
          • dovidD מחובר
            dovidD מחובר
            dovid ניהול
            כתב ב נערך לאחרונה על ידי
            #5

            @magicode

            STDEV.P זה נוסחה שקיימת באקסל ?

            2010..

            בקודמים יש STDEVP.

            פורסם במקור בפורום CODE613 ב18/07/2013 12:37 (+03:00)

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            0
            • רחמיםר מנותק
              רחמיםר מנותק
              רחמים מורחק
              כתב ב נערך לאחרונה על ידי
              #6

              @magicode

              עכשיו אני מקבל את זה בצורת מערך של 64 אברים שכל אבר מכיל ערך לדוגמא מ 0 עד 1. כל אבר מיצג בתמונה קו ואם הוא 100 הקו מופיע עד למעלה ואם הוא 0 הוא לא מופיע בכלל ואם הוא 0.5 הוא מופיע חצי וכן הלאה.

              איך אני יכול לקבוע כלל שיהיה אפשר לפי המערך להבדיל בין תמונה מצולמת לתמונה מצויירת.

              חשב את הממוצע של כל האברים במערך אם הממוצע מעל 50 בוודאי שזה מצולם ואם פחות מ 10 בוודאי שזה ציור.
              וכמובן ממוצע זה חיבור של כל האיברים לחלק במספר האיברים.

              פורסם במקור בפורום CODE613 ב18/07/2013 16:40 (+03:00)

              תגובה 1 תגובה אחרונה
              0
              • dovidD מחובר
                dovidD מחובר
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #7

                @רחמים

                @magicode

                עכשיו אני מקבל את זה בצורת מערך של 64 אברים שכל אבר מכיל ערך לדוגמא מ 0 עד 1. כל אבר מיצג בתמונה קו ואם הוא 100 הקו מופיע עד למעלה ואם הוא 0 הוא לא מופיע בכלל ואם הוא 0.5 הוא מופיע חצי וכן הלאה.

                איך אני יכול לקבוע כלל שיהיה אפשר לפי המערך להבדיל בין תמונה מצולמת לתמונה מצויירת.

                חשב את הממוצע של כל האברים במערך אם הממוצע מעל 50 בוודאי שזה מצולם ואם פחות מ 10 בוודאי שזה ציור.
                וכמובן ממוצע זה חיבור של כל האיברים לחלק במספר האיברים.

                שים לב, ממוצע בכל מקרה מיותר לחשב, כי ממוצע נדרש רק כשמס' האיברים משתנה, פה הוא קבוע (64) ומספיק סיכום.
                שנית, אני לא הייתי בטוח שאמנם ישנה חוקיות שההיסטוגרמה של תמונה תכיל יותר בס"ה, אבל זה במת מה שקורה בדוגמאות שהוא הביא.

                פורסם במקור בפורום CODE613 ב21/07/2013 12:18 (+03:00)

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                0
                • רחמיםר מנותק
                  רחמיםר מנותק
                  רחמים מורחק
                  כתב ב נערך לאחרונה על ידי
                  #8

                  הנה ניתוח חדש:
                  לפי מה שאני הבנתי היסטוגרמה היא מבנה של קוים עומדים 64 במספר, כל קו עומד הוא כנגד צבע אחר, גובה הקו נקבע ע''פ כמות של אותו צבע בתמונה כולה ולכן בתמונה של השחור לבן ראינו את הקו הראשון שמיצג את הצבע שחור גבוה עד למעלה כיון שיש הרבה צבע שחור בתמונה, וכל שאר הקווים הם על 0 כיון שאין צבעים אחרים כלל, והקו האחרן הוא קטן כיון שהוא מיצג את הצבע הלבן ואותו יש מעט.
                  עוד נתון: ההבדל בין תמונה לצילום הוא שבצילום יש הרבה צבעים שונים ותמונה לא, אבל מבחינת כמות עבור כל צבע אין הבדל ברור בין צילום לתמונה.
                  א''כ המסקנה העולה היא שכדי להבדיל בין תמונה לצילום צריך לעבור על המערך ולבדוק כמה צבעים נמצאים על כמות אפס, אם הם רבים הרי שאין הרבה צבעים שונים וזו תמונה אם אין כמעט איברים במערך שערכם 0 הרי שזה צילום, ואין צורך להתיחס לאורך הקו אלא רק אם הוא גדול מ0 או לא.

                  אבל עדיין לא נראה שזה יתן תוצאות נכונות בכל מקרה, לדעתי כדי להבדיל בין תמונה לצילום לא תועיל היסטוגרמה אלא צריך לעבור כל כל הפיקסילים או על כמות מדגמית ולראות כמה פעמים הצבע משתנה מפיקסיל לפיקסיל, כלומר האם רוב הפעמים פיקסיל נתון שווה בצבעו לפיקסיל השכן, או שרוב הפעמים פקסילים שכנים שונים זה מזה בצבעם.

                  פורסם במקור בפורום CODE613 ב21/07/2013 12:31 (+03:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מחובר
                    dovidD מחובר
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

                    הרעיון של ספירת האפסים לכאורה נכון ומהיר יותר מהרעיונות האחרים.

                    מה שכתבת
                    @רחמים

                    אלא צריך לעבור כל כל הפיקסילים או על כמות מדגמית ולראות כמה פעמים הצבע משתנה מפיקסיל לפיקסיל, כלומר האם רוב הפעמים פיקסיל נתון שווה בצבעו לפיקסיל השכן, או שרוב הפעמים פקסילים שכנים שונים זה מזה בצבעם.

                    זה לא בדיוק מה שהצעתי לעיל?

                    פורסם במקור בפורום CODE613 ב21/07/2013 13:58 (+03:00)

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    0
                    • רחמיםר מנותק
                      רחמיםר מנותק
                      רחמים מורחק
                      כתב ב נערך לאחרונה על ידי
                      #10

                      @דוד ל.ט.

                      זה לא בדיוק מה שהצעתי לעיל?

                      לא כ''כ הבנתי מה כתבת על סטיית תקן, אם התכוונת לבדיקת צבעם של פיקסילים שכנים אז ברוך שכיוונתי.

                      פורסם במקור בפורום CODE613 ב21/07/2013 14:30 (+03:00)

                      תגובה 1 תגובה אחרונה
                      0
                      • M מנותק
                        M מנותק
                        magicode
                        כתב ב נערך לאחרונה על ידי
                        #11

                        את האמת שאני לא הסברתי על ההיסטוגרמה.

                        היא בנויה מהאפור לבן שבן שנוצר מהצבעוני.

                        אחרי שזה אפור לבן יש ערוץ אחד של צבע מ 0 עד 255 שזה סכום כולל של 256

                        256/64 = 4.
                        שזה אומר שהוא מונה את כל הכמות של הפיקסלים שיש לכל צבע בתמונה.

                        ולפי זה הוא מיצר את הגרף.

                        אם זה 64 קוים אז הוא מצרף קבוצות קבוצות של 4 נגיד 256 255 254 253 יהיו קו אחד. זה בשביל לא לרדת לקטנות.

                        למען האמת הוא מקצץ את ההיסטוגרמה מלמעלה ומלמטה. עד איפה שמתחילים להיות שינויים.

                        לכן אפשר לראות קו שמלא עד למעלה ואחרי זה מלא קוים קטנים שזה אל כל ההיטוגרמה בשלמותה. כי כל הקווים ביחד אמורים ליצור את הקו הכי ארוך בחשבון אלא שהוא חותך את התצוגה. למינימום ומקסימום.

                        פורסם במקור בפורום CODE613 ב21/07/2013 15:40 (+03:00)

                        תגובה 1 תגובה אחרונה
                        0
                        • M מנותק
                          M מנותק
                          magicode
                          כתב ב נערך לאחרונה על ידי
                          #12

                          @דוד ל.ט.

                          איזה מאתגר הנושא 🙂

                          אני מתמקד בשאלתך ולא בהקדמה:
                          לפי מה שאני רואה בדוגמאות, אז הרעיון הוא סטיית תקן גבוהה (מעל 0.2 נגיד).
                          אולי בשביל ביצועים עדיף לבדוק סטיית תקן מדגמית.

                          הנה דוגמא מאקסל, שתי טורים, הימיני כאילו ציור והשמאלי תמונה:
                          0.80 0.20
                          0.00 0.25
                          0.00 0.30
                          0.30 0.35
                          0.00 0.40
                          0.00 0.35
                          0.40 0.30
                          0.00 0.25
                          0.00 0.20
                          0.00 0.15

                          התוצאה של הנוסחה STDEV.P (סטיית התקן מלאה לא מדגמית)
                          0.257875939 לטור הימני.
                          0.075 לטור השמאלי.

                          בגלל שאני מתכנת ב js אז מצאתי את זה.

                          http://jsfiddle.net/hiddenloop/TPeJt/

                          שעושה את אותו ביצוע כנראה.

                          פורסם במקור בפורום CODE613 ב25/07/2013 21:43 (+03:00)

                          תגובה 1 תגובה אחרונה
                          0

                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

                          • התחברו או הירשמו כדי לחפש.
                          • פוסט ראשון
                            פוסט אחרון
                          0
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום