如何以影像之多層位元平面來儲存數百張幾何比對樣板 |
尚未結案
|
wuhamktop
一般會員 發表:5 回覆:6 積分:2 註冊:2005-02-27 發送簡訊給我 |
我在程式應用之速度改良上發生了一個問題 : 假設樣板影像大小為W*H, 且有300張樣板需要儲存, 請問 : 1.要如何做到自訂特定BIT數之灰階圖, 以逃脫PixelFormat在pf??bit之規定
2.又樣板之每"位元層"中若有不同種類區塊, 如何在此圖片中夾雜編號資料? PS:
原先比對樣板以24BIT彩色灰階圖(R=G=B)儲存,滑鼠隨點搜尋功能每次費時10幾秒(不堪用, 圖檔總共22MB, 且耗系統資源), 後來想到以SCANLINE方式加快程式速度, 現以pf24bit儲存所有樣板資料(故有的位元層包含二種以上之樣板), 但顯示出來的非24BIT灰階, 而是24BIT雜亂的彩色圖(這點我想改良) 問題有點繁瑣, 煩請耐心看完 1234
------
1234 |
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 我在程式應用之速度改良上發生了一個問題 : 假設樣板影像大小為W*H, 且有300張樣板需要儲存, 請問 : 1.要如何做到自訂特定BIT數之灰階圖, 以逃脫PixelFormat在pf??bit之規定 2.又樣板之每"位元層"中若有不同種類區塊, 如何在此圖片中夾雜編號資料? PS: 原先比對樣板以24BIT彩色灰階圖(R=G=B)儲存,滑鼠隨點搜尋功能每次費時10幾秒(不堪用, 圖檔總共22MB, 且耗系統資源), 後來想到以SCANLINE方式加快程式速度, 現以pf24bit儲存所有樣板資料(故有的位元層包含二種以上之樣板), 但顯示出來的非24BIT灰階, 而是24BIT雜亂的彩色圖(這點我想改良) 問題有點繁瑣, 煩請耐心看完 1234wuhamktop你好: 請問一定要存成bmp檔嗎? 如果存成raw data應該比較好用,省空間,速度也比較快。 |
wuhamktop
一般會員 發表:5 回覆:6 積分:2 註冊:2005-02-27 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 應用TMemoryStream及TStringList存成rawdata我尚知大概,可是 : 1.如何開一個bool array[w][h][大於32整數]之矩陣如何存成rawdata? 2.如何將此矩陣代替pf32bits(原先32bit不足,且要改調色盤才會有顯示 卡之256階灰階),以灰階顯示矩陣內容呢?wuhamktop你好: 樣板的每個像素是二元值(0或1)嗎?還是灰階(0~256)?或是全彩(32bit)? 還有可否請你簡述的程式是做什麼事?抱歉,因為對你的問題有些不太了解 才會反問這麼多問題,請見諒。 |
wuhamktop
一般會員 發表:5 回覆:6 積分:2 註冊:2005-02-27 發送簡訊給我 |
舉例來說 ;
生產線上面可能有數百種產品,假設產品皆已整列並固定焦距,
我想將這些板金件一個個拍下來做成布林比對樣板,結果以三百多個
產品之二元矩陣[w][h][300]來算,仍有30mb之布林大小,因此想到以
[w][h]的空間儘可能塞下多個比對樣板,並利用影像之SCANLINE加快
執行速度,結果發現(一個TBitmap)速度已符合產程要求,但圖層數高達
50多層,以pf24bits來說只有24層,就算加上透明位元組之pf32bits來說
也只有32層 :
1. 到底有沒有方法可以突破pf??bits之限制呢(這就是我問的)?
2. 而且調色盤對應的還要是灰階(這個討論板已有類似答案)? 我實在不想寫成二份矩陣,有沒有好方法呢 1234
------
1234 |
arisaka_matsuri
高階會員 發表:25 回覆:205 積分:231 註冊:2003-10-19 發送簡訊給我 |
dear wuhamktop: 看到這裡,還是不知道你的樣板圖是256灰階還是1bit黑白.... 假設是布林運算要用的(那就是0跟1囉),又希望用影像來表示,為何不用PixelFormat = pf1bit的圖300張?例如:TBitmap Templates[300]; 每張圖的PixelFormat都是pf1bit,這樣算是很省記憶體的了。在顯示上,BCB又幫你take care.... 簡單來說,你已經有樣板的資料,要如何安排(儲存或顯示)應該有很大的彈性。但是若侷限在「要顯示出來」,我覺得那是另外一回事。
引言:果發現(一個TBitmap)速度已符合產程要求,但圖層數高達 50多層,以pf24bits來說只有24層,就算加上透明位元組之pf32bits來說 也只有32層 : 1. 到底有沒有方法可以突破pf??bits之限制呢(這就是我問的)?這個答案相當肯定,就算是你自己設計一個有pf256bit的TBitmapDisplayImpossibly類別,顯示卡也沒辦法幫你顯示。更重要的是 引言: 但顯示出來的非24BIT灰階, 而是24BIT雜亂的彩色圖(這點我想改良)把一堆樣板放在各個位元層,顯示出來也是沒有意義的。第一,一般PC的顯示卡只吃每個channel為8bits的資料,沒有24bit灰階這種顯示能力。第二,不同位元層代表不同的亮度,並不是像photoshop裡的圖層那樣。所以 引言:2. 而且調色盤對應的還要是灰階(這個討論板已有類似答案)?對你的情況來說,這麼做也沒意義。 引言:我實在不想寫成二份矩陣,有沒有好方法呢我的看法是,這似乎沒有兩全其美的方法。用TMemoryStream來儲存資料很方便,但是存放資料的格式得讓你自己決定(就是RAW檔)。在比對時,將其中一段資料(一張樣板)取出來跟影像做比對,要顯示時再把資料丟到TBitmap,不知道這樣是不是可以解決問題? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |