2008年7月21日 星期一

目前工作分配狀況

待辦事項
1.找OutGuess產生圖片 -> 使用Cygwin
2.將1的圖片作Histogram分析
3.網站製作(系辦指定作業)
4.海報製作(同3)
5.文件整理(同3)
6.JPEG規格書 -> 為了審查時的(?)

Matlab

關於使用Matlab的指令來作影像處理
學姊給的網頁如下
http://www.philsallee.com/jpegtbx/index.html

2008年5月27日 星期二

Meeting - Jiayu 10

次序:21或22
時間:2008.05.27
地點:S402

內容:
   ①學術論文的研究動機:寫出該研究的重要性。
   ②測試程式產生obj檔。
   ③正確宣告extern以使用其他副程式的函數
   ④使用obj檔(承②)。
   ⑤variable scope。
    Global variable與Local variable的差異在於生命週期。
    時間分三種:1.Compile Time 2.Link Time 3.Run Time
    (名稱可能有誤)

    Global variable是在Compile Time就產生(這裡的產生就是系
    統給一塊記憶體),然後包進obj檔裡。
    Local variable:執行到該函數時才產生,即Run Time時產
    生,該函數執行完即消失。

工作:①世昭至圖書館找五篇論文的研究動機,再找五篇學長姐專研文
    件的研究動機。
   ②查閱相關書籍extern的用法。

Working - Jiayu 0902

時間:2008/05/27
進度:3.使用obj檔(承2)

內容:

①將File1.c移除,改新增剛才執行完Project1所產生的File1.obj。


②Run Project1可正常執行。

Working - Jiayu 09

時間:2008/05/27
進度:2.正確宣告extern以使用其他副程式的函數
內容:

①開啟BCB。
(預設的Project1已有一個Unit1.cpp。)

②建立一個.c檔作為我們的副程式。
開啟BCB,最上排選單點選File >> New >> C File。
(目前這個我們新增的File1.c已經加入Project1。)

③在File1.c裡宣告一個變數ˋ一個函數,並定義之。例:
_________________________
int aaa=5;
void Selection_Sort(int *Num)
{
  int min,temp,i,j;
  for(i=0; i<=8; i++)
  {
    min=i;
    for(j=i; j<=9; j++)
    {
      if(Num[j]<Num[min])
        min=j;
    }

    temp=Num[i];
    Num[i]=Num[min];
    Num[min]=temp;
  }
}


④以預設的Unit1.cpp作為我們的主程式,並呼叫副程式File1.c的變數ˋ函數來使用。
在Unit1.cpp裡宣告我們所用到的陣列ˋ副程式的變數ˋ副程式的函數。如下所示:
_________________________
int Num[10];
extern "C" void Selection_Sort(int*);
extern int aaa;  


⑤在Unit1上新增兩個Label原件。Label1顯示副程式裡的函數正確執行後被修改的陣列值(如果該值還是原來的值,我們可知該副程式裡函數未成功執行。)。Label2顯示副程式裡的aaa變數值。

⑥在主程式裡定義陣列初值 >> 呼叫副程式的函數做排序 >> 顯示結果。
_________________________
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
  for(int i=0; i<10; i++)
    Num[i]=10-i;

  Selection_Sort(Num);

  Label1->Caption=IntToStr(Num[0]);
  Label2->Caption=AnsiString(aaa);
}