線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1100
推到 Plurk!
推到 Facebook!

如何以影像之多層位元平面來儲存數百張幾何比對樣板

尚未結案
wuhamktop
一般會員


發表:5
回覆:6
積分:2
註冊:2005-02-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-05 18:06:15 IP:221.169.xxx.xxx 未訂閱
我在程式應用之速度改良上發生了一個問題 : 假設樣板影像大小為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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-07 17:47:26 IP:220.135.xxx.xxx 未訂閱
引言: 我在程式應用之速度改良上發生了一個問題 : 假設樣板影像大小為W*H, 且有300張樣板需要儲存, 請問 : 1.要如何做到自訂特定BIT數之灰階圖, 以逃脫PixelFormat在pf??bit之規定 2.又樣板之每"位元層"中若有不同種類區塊, 如何在此圖片中夾雜編號資料? PS: 原先比對樣板以24BIT彩色灰階圖(R=G=B)儲存,滑鼠隨點搜尋功能每次費時10幾秒(不堪用, 圖檔總共22MB, 且耗系統資源), 後來想到以SCANLINE方式加快程式速度, 現以pf24bit儲存所有樣板資料(故有的位元層包含二種以上之樣板), 但顯示出來的非24BIT灰階, 而是24BIT雜亂的彩色圖(這點我想改良) 問題有點繁瑣, 煩請耐心看完 1234
wuhamktop你好: 請問一定要存成bmp檔嗎? 如果存成raw data應該比較好用,省空間,速度也比較快。
wuhamktop
一般會員


發表:5
回覆:6
積分:2
註冊:2005-02-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-07 23:04:42 IP:221.169.xxx.xxx 未訂閱
謝謝JerryKuo的回應 : 應用TMemoryStream及TStringList存成rawdata我尚知大概,可是 : 1.如何開一個bool array[w][h][大於32整數]之矩陣如何存成rawdata? 2.如何將此矩陣代替pf32bits(原先32bit不足,且要改調色盤才會有顯示 卡之256階灰階),以灰階顯示矩陣內容呢? 謝謝您的回應 1234
------
1234
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-08 16:35:01 IP:220.135.xxx.xxx 未訂閱
引言: 應用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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-09 22:10:05 IP:61.220.xxx.xxx 未訂閱
舉例來說 ; 生產線上面可能有數百種產品,假設產品皆已整列並固定焦距, 我想將這些板金件一個個拍下來做成布林比對樣板,結果以三百多個 產品之二元矩陣[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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-10 13:26:52 IP:140.113.xxx.xxx 未訂閱
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,不知道這樣是不是可以解決問題?
系統時間:2024-07-03 5:15:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!