Re: [問題] 新手發問-計算像素點數

看板C_and_CPP (C/C++)作者 (阿真)時間16年前 (2009/06/15 22:25), 編輯推噓2(2010)
留言12則, 4人參與, 最新討論串2/4 (看更多)
啊 很抱歉 我沒學過c++ 我是寫c的 而且我沒用過bcb 上網查查應該是影像處理類的東西 不過在觀念上可以給你一些協助 解決辨法 可能要另請高人了... ※ 引述《luandrew (阿咪)》之銘言: : 恕刪 : void __fastcall TForm1::Button2Click(TObject *Sender) 看起來好像gui裡的button按下去之後要做的事 : { : int x,y,nB=0,nW=1; 你要用的變數 有x y 給迴圈用 還有nB nW 從下面有nB++ nW++看起來 是 白跟黑的計數器了 可是我不明白 為什麼白的要從1開始 而黑的要從0開始 一開始的個數不都是0嗎?? : for(y=1;y<=Image1->Height;y++) : { : for(x=1;x<=Image1->Picture->Width;x++) : { 掃過每一個點 雖然 "->" 我看不種 不過看起來有點struct的味道 不過其中x有Picture y的沒有 不知道有沒有問題(因為我不會啊 囧) 但不影響對程式觀念的解讀 : TCColor c=Image1->Canvas->Pixels[x][y]; 看起來是把在 x y 這座標的Pixels值 放入TCColor形態的變數c中 : if((int)c.Green < 128) : { 綠色成份小於128的話 就做下面的事 你也可以看看 你要程式幫你做什麼 也就是我下面解析的東西 解錯沒關係 但要讓別人知道你怎麼想的 來問問題應該是要人與人溝通 而不是程式放上來讓我們跟你的程式溝通 所以註解是很重要的 你的程式中沒有任何註解 除非非常基本(也許對bcb的使用者來說 這很簡單 囧) 不然還是加上註解比較好 不然別人不是懶得解 就是要像我這樣猜猜猜 對大家都沒好處 我繼續猜... : Image1->Canvas->Pixels[x][y]=TCColor(0, 0, 0).Color; 把這個pixcel的值 改成 0 0 0 也就是黑的 : nB++; <--這一行跟下一行是學姊教我的 然後計數器+1 : LabeledEdit_Black->Text = IntToStr(nB); 好像是把計數器的值 顯示在gui的label上 : nW++; <--這一行跟下一行是我照學姊練的 : LabeledEdit_White->Text = IntToStr(nW); 可是 既然是黑的 為什麼白的計數器也要+1呢 囧 : } : else : Image1->Canvas->Pixels[x][y]=TCColor(255, 255, 255).Color; 這段是說 如果綠色成份 不是小於128的話 就轉成白的 你的白色計數器應該放在這裡吧 0.0 : } : } : } : 這樣顯示出來的黑點跟白點數字好怪 如果你自己能解釋你程式的流程 (事實上一般來說 應該是先有流程想法 再寫出來比較看看是否一致) 應該會發現有些奇怪的地方 : 好相近..是哪裡出錯了? : 要在哪裡加質心公式? 這個問題問得很好 囧... 呃...至少必須要記錄x跟y的座標吧 上面的程式 看起來使用完變數就消失了 當然也是可以用完即丟 不過 感覺你再開一次圖檔 專心記錄xy座標再計算 比較不會分心 也許會浪費許多資源 但先以能達成目標為主 之後再慢慢改得盡善盡美吧 最後 你給我的感覺 有點那種 臨陣磨槍的感覺 是有什麼東西要急著生出來嗎 還是你的學長姊要磨練你呢 有時間的話不妨練一些基本功 例如 if for do while switch case (對不起都是舉c的) 都是你寫程式的利器 祝 程式撰寫成功... 有誤請大家告訴我 Q_Q 不然就誤人子弟了orz... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.63.180

06/15 22:29, , 1F
所以這證明bcb很平易近人啊,要是換用MFC就很難搞了
06/15 22:29, 1F

06/15 22:53, , 2F
(遞)K大真是好人....
06/15 22:53, 2F

06/15 22:54, , 3F
我覺得, C/C++的新手, BCB的新手, 影像處理的新手....
06/15 22:54, 3F

06/15 22:54, , 4F
同樣是新手, 但是上面這幾種差異可是相當大的....
06/15 22:54, 4F

06/15 22:54, , 5F
如果根本是C/C++新手, 還是別連站都不會就要飛了啊(默)
06/15 22:54, 5F

06/15 22:55, , 6F
被K大發現我是要急著生出東西來.因為研究所找指導老師.
06/15 22:55, 6F

06/15 22:56, , 7F
老師給我出的一個影像處理的入門程式.因為這是我第一次碰
06/15 22:56, 7F

06/15 22:57, , 8F
到這個領域.第一次知道什麼是BCB6.第一次知道什麼是灰階.
06/15 22:57, 8F

06/15 22:57, , 9F
很多很多東西都是第一次知道.所以請K大跟V大多見諒= =
06/15 22:57, 9F

06/15 23:28, , 10F
不算好人啦 我懂那種寫程式 無能為力的苦 只是...
06/15 23:28, 10F

06/15 23:28, , 11F
沒想到是那麼New Hand啊...
06/15 23:28, 11F

06/15 23:33, , 12F
科科, 應該是小弟我說話總是比較直, 才需要麻煩見諒Orz
06/15 23:33, 12F
文章代碼(AID): #1ADbdQ3- (C_and_CPP)
文章代碼(AID): #1ADbdQ3- (C_and_CPP)