עיבוד תמונה

hatulflezet

New member
מה שכן

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

gilad_no

New member
בתשלום

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

gilad_no

New member
בתשלום?

מראי המקום דורש מנוי בתשלום (או שלא הבנתי נכון?). יש לך אולי עוד קישורים? כמו כן, הקישור השני לא עובד. בתודה, גלעד
 

hatulflezet

New member
oops

לא שמתי לב - מצטער. מצ"ב כמה לינקים עם התאוריה. הלינק השני אומנם מיושם בתחום הרובוטיקה (התחום שלי) אבל יש לו דוגמאות קוד - שאולי יעזרו לך. השאר - זו תאוריה - ותראה שלא קשה לכתוב קוד שיישם אותה. לינק1 לינק2 לינק3 ממש מומלץ לקרא
 

hatulflezet

New member
בגדול

1. תעביר את התמונה לGRAY SCALE. 2. תקבע "קו אמצע" עבור הבהירות. 3. תייצר תמונה בינארית - כל מה שבהיר מקו האמצע שקבעת יהפוך ללבן - מה שלא - שחור. 4. על זה תשיים EDGE DITECTOR 5. המרחק הגדול ביותר על X בין שני "קנטים" אנכיים = מרווח בין מילים. כמובן - אין טעם לעבוד על כל התמונה - אלא רק על פס בעל גובה מסויים מעל ומתחת לY של ההקלקה - וגם את הגובה הזה ניתן למצא בשיטה דומה.
 

cganir

New member
איך זה בדיוק יעזור לו ?

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

hatulflezet

New member
תחשוב שניה

הקוטרסט בין הטקסט לרקע תמיד "רצחני" אחרת לא תראה אותו. (זה נובע בין היתר בגלל שעין האנושית רגישה יותר לקונטרסט מאשר לצבע) ועל מנת ל"חזק" אותו - עושים את המעבר לGRAY SCALE ואחר כך לבינרי (שחור לבן - יש יותר רצחני מזה?) קל לנסות את השיטה שהצעתי בלי לתכנת. קח תמונה עם כיתוב - ותעשה את מה שאמרתי עם תוכנת עבוד תמונה. ותראה שאתה שנישאר עם כתב שחור על רקע לבן או הפוך.
 

cganir

New member
זו הנחת יסוד מוטעית ביותר.

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

hatulflezet

New member
אתה לא מבין

אתה מבלבל מושגים. הדוגמאות שהבאת כולן בRGB COLOR SPACE .עם 24 ביט במקרא שלך. ברגע שאתה מעביר לGRAY SCALE אתה יוצא מהCOLOR SPACE הזה לאחר. (השלב הראשון ב"שיטה" שלי) כאן למשל כבר אין גווני צבעים - אלא רק INTESITY - בהירות - וגם מספיק 8 ביט לפיקסל. אתה דיברת על גווני צבעים - אני על בהירות - בין לבן לשחור. חוץ מזה, ה"שיטה" שכתבתי - ניכתבה בכלליות. כשכתבתי "תקבע סף לבהירות" לא התכוונתי שרירותית - אולי גם זה יתאים - פה כבר צריך להכיר באיזה מגבלות התוכנה עובדת - את זה המתכנת צריך להחליט. בעקרון - השלב הזה יכול להיות מיותר. ניתן לבצע EDGE DITCTION יופי על תמונת GRAY SCALE. זה נושא ידוע היטב - ואם תחפש יש מליון דוגמאות קוד פשוטות בשביל זה. אם היית עושה מה שאמרתי עם תוכנת עבוד תמונה - היית מבין. תקרא קצת על COLOR SPACES. יש יותר מאחד - לא הכל מחושב ב-RGB.
 

hatulflezet

New member
הרגע עלה לי שיפור

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