נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: שאלה בקשר לעיבוד תמונה

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
thunder`
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 01 January 2007
משתמש: מנותק/ת
הודעות: 10
נשלח בתאריך: 16 February 2007 בשעה 15:48 | IP רשוּם
ציטוט thunder`

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

האלגוריתם יקטין/יגדיל את התמונה לפי הצורך למימדים שהתקבלו בקלט

למישהו יש רעיון מה לעשות כאן?
חזרה לתחילת העמוד הצג את כרטיס החבר של thunder` חפש הודעות אחרות של thunder`
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 17 February 2007 בשעה 03:38 | IP רשוּם
ציטוט Fate

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

למשל אתה רוצה להקטין תמונה של 200 על 200 ל 100 על 100....
אז פיקסל 0,0 יהיה 0,0 וגם 0,1 וגם 1,0 וגם 1,1....

מקווה שאני ברור
חזרה לתחילת העמוד הצג את כרטיס החבר של Fate חפש הודעות אחרות של Fate
 
thunder`
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 01 January 2007
משתמש: מנותק/ת
הודעות: 10
נשלח בתאריך: 17 February 2007 בשעה 11:32 | IP רשוּם
ציטוט thunder`

אני חושב שהבנתי אותך, אבל במבנה של BMP יש להוסיף רווחים בסוף כל שורה. מספר הרווחים הוא שארית החלוקה של רוחב התמונה ב4.
מה קורה במצב שבו גודל התמונה המקורית, למשל רוחב 200 גובה 150 ואני רוצה להקטין אותה לרזולוציה של 60 * 60. כי זו היא המטרה הסופית של הפונקציה הזאת, להקטין/להגדיל מכל רזולוציה לכל רזולוציה ולא להישאר בתחומי הרזולוציה המקורית.

שים לב שנאמר שאנחנו נשארים גם ביחסי הרזולוציה המקורית ונקטין את התמונה 200 על 150 פי 3, מה נעשה עם שארית החלוקה ב3? כיצד נוסיף רווחים?

תודה על העזרה!
חזרה לתחילת העמוד הצג את כרטיס החבר של thunder` חפש הודעות אחרות של thunder`
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 17 February 2007 בשעה 13:56 | IP רשוּם
ציטוט Fate

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

נגיד הפיקסל של 10,5... הצבע שלו יצטרך לבוא מ5.7,2.23
(זה רק דוגמא אין לי כוח לחשב מאיזה רזולוציה מגדילים )

עכשיו יש לך שני אפשרויות מה לעשות במקרה הזה...
או לעגל ל6,3.... או לקחת באחוזים מהצבעים הסמוכים.... (שזה יותר קשב לממש)
חזרה לתחילת העמוד הצג את כרטיס החבר של Fate חפש הודעות אחרות של Fate
 
thunder`
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 01 January 2007
משתמש: מנותק/ת
הודעות: 10
נשלח בתאריך: 17 February 2007 בשעה 20:26 | IP רשוּם
ציטוט thunder`

אז אני בעצם מעגל את הפיקסל שממנו אני אמור לקחת, ולוקח מהפיקסל שיצא אחרי שעיגלתי את הצבע שלו...
ועם הרווחים שצריך להוסיף אותו סיפור? נגיד אני רוצה תמונה קטנה פי 3, אז אני יעשה שארית החלוקה של width/3 ב4?
וכשאני מגדיל תמונה, אז המצב יהיה שאני אקח אותו צבע מאותו פיקסל לכמה פיקסלים בתמונה הגדולה יותר, אז זו בעצם מריחה של התמונה
הבנתי בסדר?

אוקי אז עכשיו יש טיול שנתי ואחריו אני יחזור לעבודה
תודה לך
חזרה לתחילת העמוד הצג את כרטיס החבר של thunder` חפש הודעות אחרות של thunder`
 
Fate
פורומיסט על
פורומיסט על
סמל אישי

הצטרף / הצטרפה: 25 October 2005
משתמש: מנותק/ת
הודעות: 571
נשלח בתאריך: 18 February 2007 בשעה 01:15 | IP רשוּם
ציטוט Fate

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

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

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