地點:Home
進度:Frequency Histogram。
作業:
① 顯示介面。

② Quantization。
code
③ Frequency Histogram of Original Image。
code
④ Frequency Histogram of Modified Image。
code
執行:run
心得:
這次第一步是先補量化
之前Meeting老師說過圖片邊緣無法構成一個Block的點
其DCT係數可以依方位填入別人的DCT係數(參Meeting記錄)
而量化也是一個8x8 Block一起做
不知道它邊緣的點又是如何處理?
老師的JPEG Steganalysis程式是在取RGB時
就替邊緣的點多補了一些點以構成一個Block
讓之後的DCTˋQuantization得以順利運算
但我又想說
由於Quantization是一對一除以Quantization Table裡
相對位置的值
那麼是不是可以不補滿8x8 Block
邊緣的點有的話就除
沒有的點就不除
而DCT係數就依方位填入別人的DCT係數
以上純粹是我的異想天開
正解是
在DCT之前必須補滿8x8 Block
之前糾纏我很久的Bug:Access Violation
以及它引起的一連串問題
這快一個月的時間都在找它們家的解決方案 = =+
這幾天我搜尋的方向是"關閉視窗"這方面的
試了Form3->Close();不行
試了delete Form3;不行
試了Form3->Free();不行
動態建立Form3時由我最初寫的...
Form3 = new TForm3(Application);
改成new TForm3(this);不行
改成new TForm3(NULL);不行
以上是網上大多數的解決方案
但仍持續存在Access Violation錯誤
直到今天我讀到那一篇關於Access Violation的文
一語驚醒夢中人
「局部和全局指针同名,全局或局部指针一个new过,
但另一个被访问了。」
於是將我所有動態建立視窗的宣告刪除
由原本的:TForm? *Form?
Form? = new TForm?(Application);
Form?->Show();
更改為:Form? = new TForm?(Application);
Form?->Show();
Access Violation錯誤解除
視窗順利關閉
之前的一些Access Violation錯誤也一同解決
從我開始使用Form的時候就依照書而這樣寫
少說有半年之久
盡信書不如無書啊
備註:①目前程式不提供超過一次的開圖
沒有留言:
張貼留言