2009年5月4日 星期一

DEBUG

之前已經有用timer的方式寫過了,要demo當天想說改用老師給的範例做做看好了,結果我似乎有點高估自己了... ..., 其他地方還好,在 callback function那邊卡了一陣子
什麼地方該丟哪裡,什麼地方該做判斷,都摸索了一陣子,結果要下課了還沒丟好 callback function, 大概也是因為我有幾堂課睡過頭沒到,結果沒聽到重點吧...讓我在這部分多弄了2~3個小時,算是個教訓@@"

之後好不容易搞好callback function了,卻在發生了下圖的事件:

一開始一直認為是我在圖片儲存的地方沒設定好,但是怎麼改,怎麼看都是沒錯,後來甚至重寫一次,用原來的宣告+老師的範例去修改,只做兩圖相減,竟然還是一樣!!

但之前在做callback function之前很快的就做出了兩圖相減,當初也沒出錯啊?到底哪裡出問題了呢??

我弄到了六點多,想說兩小時後要上課不睡不行...,結果給他睡過頭了(囧),但是醒來後突然有想法,該不會是我宣告哪時改過了,變成錯的了吧,然後就把程式碼對照宣告把原本的

tcColorMatrix[320][240]改成tcColorMatrix[240][320] 就對了

真是的...早該想到式宣告格式出錯...(害我搞3~4個小時還沒想出來)

目前算是都弄好了...不過感覺有幾個缺點

1. 反應有點慢

2. 燈光一暗,雜訊會多(不知跟webcam不好有無關聯)

3~. 之後一定會慢慢發現...

Scanline index out of range

我的問題出現在 " scanline index out of range " 這個錯誤,是因為記憶體裡面沒有東西。



而解決方法是在 image 3 上放一張背景圖(.bmp檔)就好了。



因為當程式經過complier後,他會先掃描 image 3 有沒有陣列值可以跟 image 1 存到的陣列值相減,如果沒有陣列值可以相減就會出現 " scanline index out of range " 的錯誤訊息。


DEMO~

(如看不清楚,請點圖.)



起初~
我實在不曉得問題出在哪?
只知道要run的時候,
程式總是給我直接當掉.(然後跳出上方視窗.)

看了一下,
卻發現在讀取資料時,
總是抓到一些莫名的garbage(一些亂碼什麼的).

可是在之前~
還沒有使用callbackfunction的時候,
讀取資料明明就沒有問題.
為什麼使用callbackfunction就抓到garbage !?

最後問了許同學.
他給了我不少意見.
真是獲益良多. (非常感謝)

其中最重要的是,
Refresh()
他提醒我,
"沒有做 Refresh 就算Image裡的內容改變了,也不會顯示在Image上."

之前不太了解Refresh的功用,
所以一直不太敢用.
而且也有發現就算沒使用Refresh(),
也照樣run的出來的同學.
所以我才覺得就算沒加上去應該也沒差.

但是沒想到這樣,
就讓我在上課的時候,
沒辦法順利run.

但是有一件事還是讓我很介意,
那位沒使用Refresh()也run的出來的同學,
其實程式碼跟我的並無太大差異.(他有的功能,我也有弄.宣告也都一樣.)
但是為什麼還是會無法順利run呢?


雖然經過了很多挫折,
但是最後有完成基本的Demo,
還是很開心~

2009年5月2日 星期六

Demo

這次的demo感覺還算不錯,雖然一開始出的錯誤還讓人蠻氣餒的,不過也是自己邏輯上的不清楚,宣告k這變數來傳遞值給陣列,一開始沒有設定初值出了錯,但這錯誤都還很簡單能夠找到,但後來我將k設初值之後還是一樣有error,找不到那兒有問題,後來老師幫我找到了這問題,原來是我把初值設定在迴圈裡頭了,所以當迴圈執行到下一段時,又再度把k設回初值了,因為這是在邏輯上的問題,所以compiler沒有error,真的得很仔細去跑過每一步才找的到錯誤!

2009年4月30日 星期四

n*黑線




比較後顯示會變一條一條的黑線,不比較直接顯示圖片是沒有問題的,後來老師說是因為記憶體的位置指錯了,可是因為這是熬夜寫的,所以有點混亂,最後乾脆從新寫比較的function,經過國維的指導終於


2009年4月28日 星期二

視訊問題!

今天的DEMO挫折很大!後來發現問題是,一開始的TRY CATCH 動態宣告我在FUNCTION裡一直配置 所以超慢 接下來 SCAN LINE OUT OF RANGE 碰到跟方泓志一樣的問題 後來給它背景圖就好了 最後還有一個問題是 視訊問題 我的視訊會出現黑色條紋格 老師說是 視訊太好 有做壓縮 改用別人的就可以了 多災多難的DEMO結束 感謝 釋迦大力幫忙 感激

SCANLINE INDEX OUT OF RANGE




==============================================================

此問題是因為程式並沒有記憶體配置所造成的錯誤
解決方法是在一開始時由使用者自己先給他一個背景
這樣就可以解決 SCANLINE INDEX OUT OF RANGE 的問題