全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1201
推到 Plurk!
推到 Facebook!

請教關於自動辨識色塊的問題

尚未結案
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-21 14:39:45 IP:220.130.xxx.xxx 未訂閱
我現在要做一個功能就是讀進一個BMP檔之後,能自動將BMP檔中24色的色板分別被框選起來,並且得知每一塊色塊的所有的RGB值。請問這種功能該如何下手???謝謝 不知道是否可用SCANLINE來做 發表人 - iii0628 於 2005/09/21 14:49:32
husser123
一般會員


發表:14
回覆:10
積分:4
註冊:2005-04-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-23 13:02:59 IP:202.145.xxx.xxx 未訂閱
先二值化找出框框 有線索了嗎?
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-23 13:35:40 IP:220.130.xxx.xxx 未訂閱
引言: 先二值化找出框框 有線索了嗎?
husser123你好:可以麻煩你再說仔細一點嗎???當二質化之後找出框框,是要如何找出框框阿??? 我現在是用判斷RGB的方式因為左上角那塊是紅色,所以想用比較RGB的方式來處理但是圖片的雜訊也會影響到判斷,變成框出來的矩形不是出現在真正色塊上。 我說一下現在的做法,就是用SCANLIE去掃左上角的區塊我是定掃400*400大小,當找到一個畫素為R>B>G的話就抓那點為座標畫一個100*100的矩形。不過實做之後發現方法很笨
byte *ptr;
        Image1->Picture->Bitmap->PixelFormat=pf24bit;
        for(int i=0;i<100;i++)
        {
                ptr=(Byte*)Image1->Picture->Bitmap->ScanLine[i];
                for(int j=0;j<100;j++){
                  int b = ptr[j*3];
                  int g = ptr[j*3+1];
                  int r = ptr[j*3+2];
                    if(r>g && r>b){
                    start_x=i;
                    start_y=j;
                    i=i+400;
                    j=j+400;
                    }
                    else
                    ShowMessage("找不到");
                }            }             Image1->Canvas->Pen->Color = clYellow;
         Image1->Canvas->Brush->Style=bsClear;
         Image1->Canvas->Rectangle(start_x,start_y,start_x+100,start_y+100);    
husser123
一般會員


發表:14
回覆:10
積分:4
註冊:2005-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-23 14:31:23 IP:202.145.xxx.xxx 未訂閱
步驟二: 找出整個Chart的外框(找出4個邊邊)
husser123
一般會員


發表:14
回覆:10
積分:4
註冊:2005-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-23 15:08:50 IP:202.145.xxx.xxx 未訂閱
步驟三: 找出24個格子座標(自己定義就好) 把格子Show出來, 然後呢?取出RGB來計算囉~ 這樣的方法只能算半自動 因為格子座標要自己定義 不過都使用同一張chart的話(24色) 格子座標存起來就好了,以後也都可以用 發表人 - husser123 於 2005/09/23 15:24:12
iii0628
一般會員


發表:50
回覆:46
積分:19
註冊:2005-04-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-09-23 15:46:53 IP:220.130.xxx.xxx 未訂閱
你好:我的問題是要如何找出步驟二、找出整個Chart的外框(找出4個邊 邊),意思就是要如何寫???可以請你透露一下嗎??? 另一個問題是當步驟二完成之後,做步驟三關於找出24個格子座標(自己定義就好)。那步驟二跟步驟三有任何關聯性嗎???
引言: 步驟三: 找出24個格子座標(自己定義就好) 把格子Show出來, 然後呢?取出RGB來計算囉~ 這樣的方法只能算半自動 因為格子座標要自己定義 不過都使用同一張chart的話(24色) 格子座標存起來就好了,以後也都可以用 發表人 - husser123 於 2005/09/23 15:24:12
系統時間:2024-05-04 1:54:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!