תמונות ומערכים .. C# - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

תמונות ומערכים .. C#


Far_Away

Recommended Posts

כתבתי פעולה סטאטית שמקבלת תמונה בינארית והופכת אותה למערך דו מימדי

שכל תא בו מייצג פיקסל אחד מהתמונה- 0 ללבן ו-1 לשחור .

הבעיה היא שכשאני רוצה להשתמש במערך (שבניתי בפעולה נפרדת)

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

יש לזה פתרון?

תודה מראש לעוזרים (: ...

קישור לתוכן
שתף באתרים אחרים

זו הפעולה שבונה את המערך :


public static void imageToArray(Bitmap B)
{
int width = B.Size.Width;
int height = B.Size.Height;
int[,] arr = new int[width, height];
int[,] labelarr = new int[width - 2, height - 2];
for (int j = 0; j < height; j++)
{
for (int i = 0; i < width; i++)
{
Color binarycol = B.GetPixel(i, j);
if (binarycol.R == 0 && binarycol.G == 0 && binarycol.B == 0)//black
arr[i, j] = 1;
else
arr[i, j] = 0;
Debug.Write(arr[i, j]);
}
Debug.WriteLine(" ");
}
}

זה הזימון :


private void comp_btn_Click(object sender, EventArgs e)
{

Bitmap comp = new Bitmap(pb_grayscale.Image);
imageToArray(comp); \\עד כאן עובד בסדר..
int numberofobjects = countObjects(arr);
Debug.WriteLine("number of objects is:" + numberofobjects);

}

countObjects

זה פעולה שמחשבת את מספר העצמים בתמונה ..

השגיאה שמתקבלת היא:

The name 'arr' does not exist in the current context

קישור לתוכן
שתף באתרים אחרים

תודה רבה!

חשבתי על זה אבל לא ידעתי שאפשר להחזיר ערך של מערך ,

הייתי בטוחה שאם עושים שינוי במערך הוא תקף גם בתוכנית הראשית

(ככה לימדו אותנו בבית ספר, בכל אופן)

ואה כן ,אני בת ..(:

קישור לתוכן
שתף באתרים אחרים

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

וכדאי שתגדירי את זה בפרופיל כדי שלא נטעה שוב :P

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...