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

שאלה 2 ג.

4 posters

Go down

שאלה 2 ג. Empty שאלה 2 ג.

הודעה  shay86 Fri May 29, 2009 8:36 pm

עשיתי את הסעיפים עם הקבצי TEXT,
השאלה היא לגבי הקבצי בינארי, מישהו יודע מה הפורמט המדוייק של הפיקסלים?
הכנסתי לקובץ בינארי את הכותרת עם הרוחב וגובה וכו' אבל אני לא מוצא
בגוגל איך נראית הטבלה של הפיקסלים כדי לנתח אותם לפיקסל אפור.
מישהו יכול לשים פה את הפקודה שלו של ה- FREAD מהקובץ PPM (קליטת 3 צבעים)
ואת הפקודה של ה- FWRITE של הקובץ PGM (כתיבת פיקסל אפור אחד).

תודה.
shay86
shay86
by ref
by ref

מספר הודעות : 14
Join date : 11.04.09

חזרה למעלה Go down

שאלה 2 ג. Empty כתיבה וקריאה בקבצים בינארים

הודעה  talmidonet Sat May 30, 2009 1:40 pm



היי שי Smile

התרגיל החמישי הוא אחד העמוסים. אני זוכרת כמה וכמה לילות לבנים בתקופה הזאת.
בכל אופן, כדי לקרוא 3 ערכי צבעים (=פיקסל אחד) מקובץ בינארי יש להחזיק משתנים המציינים את שלושת הצבעים
r, g, b
ולהריץ את הפקודות הבאות:
י
קוד:
fread(&r, sizeof(char), 1, file);
fread(&g, sizeof(char), 1, file);
fread(&b, sizeof(char), 1, file);


הפקודות לכתיבת פיקסל אחד אפור לקובץ PGM:
י
קוד:
fwrite(pixel, sizeof(char), 1, file);



talmidonet
talmidonet
by ref
by ref

מספר הודעות : 12
Join date : 10.05.09
Age : 38
מיקום : תל אביב

http://talmido.net/

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  shay86 Sat May 30, 2009 4:22 pm

תודה אבל זה עדיין לא עובד לי,
האם המשתנים R,G,B צריכים להיות מסוג CHAR או INT?

בעיקרון אחרי שקראתי את הכותרת, אני מגיע לשורות של הפיקסלים,
כשאני קורא פיקסל פיקסל אני לא אמור לראות במשתנה מה הערך שלו?
נניח קראתי פיקסל R, אם אני בודק את ערך המשתנה ב-DEBUG אני לא אמור לראות ערך מספרי?
כי אני קורא שם סוג של זבל, אולי זה פשוט בבינארי? (למרות שאני מנסה להפוך את הקובץ PGM
הסופי ל- JPEG וזה לא מצליח).
shay86
shay86
by ref
by ref

מספר הודעות : 14
Join date : 11.04.09

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  talmidonet Sat May 30, 2009 4:57 pm



כל ערך של צבע בפיקסל הוא
char
אחד.

אני נוהגת לכתוב בתחילת תוכנית:
קוד:
typedef unsigned char Byte;

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


talmidonet
talmidonet
by ref
by ref

מספר הודעות : 12
Join date : 10.05.09
Age : 38
מיקום : תל אביב

http://talmido.net/

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  shay86 Sat May 30, 2009 5:06 pm

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

משום מה כאן התוכנה לא מצליחה לקרוא את הקובץ לכן אני משער שעשיתי משהו לא נכון,
אחרי שקלטתי את ה- R,G,B איך אני הופך אותם לפיקסל אחד? (הרי זה CHAR).
האם:
קוד:

fprintf(fp_pgm, "%c", ((r+g+b)/3));
זה יעבוד?
shay86
shay86
by ref
by ref

מספר הודעות : 14
Join date : 11.04.09

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  shay86 Sat May 30, 2009 5:56 pm

הסתדרתי, תודה רבה Smile
shay86
shay86
by ref
by ref

מספר הודעות : 14
Join date : 11.04.09

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  talmidonet Sat May 30, 2009 8:11 pm


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

מספר הודעות : 12
Join date : 10.05.09
Age : 38
מיקום : תל אביב

http://talmido.net/

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  Admin Mon Jun 01, 2009 1:03 am

התוכנית הזאת הוציאה לי את המיץ!!!

ועכשיו אתם חייבים לגלות לי איך אתם כותבים את ה"קוד" הזה בהודעות שלכם!!
bounce
Admin
Admin
Admin

מספר הודעות : 62
Join date : 08.04.09
Age : 39

https://csmta.forumhebrew.com

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  talmidonet Mon Jun 01, 2009 4:50 am


כן, זאת חתיכת שאלה. Mad
ככה כותבים בלוק של קוד (רק שים לב שהוספתי רווח ליד המילה "קוד" כדי שלא יהפוך באמת לבלוק של קוד...)
י
[code ]
for (int i = ....
[/code]


talmidonet
talmidonet
by ref
by ref

מספר הודעות : 12
Join date : 10.05.09
Age : 38
מיקום : תל אביב

http://talmido.net/

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  Admin Mon Jun 01, 2009 5:31 am

קוד:
CODE
אוקיי עובד
Admin
Admin
Admin

מספר הודעות : 62
Join date : 08.04.09
Age : 39

https://csmta.forumhebrew.com

חזרה למעלה Go down

שאלה 2 ג. Empty ...

הודעה  chenmesika Wed Jun 03, 2009 5:38 am

איזה מגניב.. גם אני רוצה!

קוד:

בעעעעעעע.....
chenmesika
chenmesika
by ref
by ref

מספר הודעות : 18
Join date : 13.04.09

חזרה למעלה Go down

שאלה 2 ג. Empty Re: שאלה 2 ג.

הודעה  Admin Thu Jun 04, 2009 5:23 am

קוד:
מה אתה נדחף יא דועחף??
Admin
Admin
Admin

מספר הודעות : 62
Join date : 08.04.09
Age : 39

https://csmta.forumhebrew.com

חזרה למעלה Go down

חזרה למעלה

- Similar topics

 
Permissions in this forum:
אתה לא יכול להגיב לנושאים בפורום זה