שאלה ב- JAVA

Pembelton

New member
א.מה הפורמט של התמונה?

(למשל: JPEG או BMP או GIF) ב. למה אתה רוצה לקרוא לתוך מערך דו מימדי? אם זה בכדי להציג אותה על המסך אז יש מחלקות שיודעות לעשות את זה.
 

the man is back

New member
JPG

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

neko

New member
רעיונות:

1. תעבור לMATLAB שמתאימה בדיוק לזה. 2. חיפוש בגוגל יכול לעזור (IMAGE PROCESSING JAVA EXAMPLE או משהו כזה, יכול לתת לך דוגמאות לתוכניות שעושות דברים דומים למה שאתה רוצה לעשות). 3. יש ספר נחמד שנקרא "DIGITAL IMAGE PROCESSING IN JAVA" או משהו כזה, שמלמד עיבוד תמונה עם דוגמאות JAVA. אם חשוב לך אתה יכול לקפוץ לספריה של המרכז הבינתחומי בהרצליה (שם ראיתי אותו), לקנות אותו דרך אמאזון, או לחפש אותו באוניברסיטה הקרובה למקום מגוריך.
 

IP yuval

New member
ולמה אתה צריך מערך דו מימדי בשביל

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

IP yuval

New member
הנה:

החלק הרלבנטי: h זה ה"גובה" של התמונה וw... החלק הזה הופך את התמונה הצורה מאונכת (אם מישהו פה רוצה לתת אלגוריתם יעיל, אחלה).
//flip horizontally (mirror) the orginal image int tmp; for (int i=0; i<h; i++) { int offset =i*w; for (int j=0; j<w/2; j++) { int pos = offset+j; tmp = pixels[pos-j+w-j]; pixels[pos-j+w-j] = pixels[pos]; pixels[pos] = tmp; } }​
אתה יכול גם להסתכל על הלולאה השניה, אבל זה כבר יותר מסובך.
 

the man is back

New member
אני דווקא חשבתי..

דווקא חשבתי לעשות את זה עם BufferedImage. מישהו יודע איך הופכים ImageIcon ל-BufferedImage?
 
למעלה