Re: [問題] 新手發問-計算像素點數
啊 很抱歉
我沒學過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
06/15 22:29, 1F
→
06/15 22:53, , 2F
06/15 22:53, 2F
→
06/15 22:54, , 3F
06/15 22:54, 3F
→
06/15 22:54, , 4F
06/15 22:54, 4F
→
06/15 22:54, , 5F
06/15 22:54, 5F
→
06/15 22:55, , 6F
06/15 22:55, 6F
→
06/15 22:56, , 7F
06/15 22:56, 7F
→
06/15 22:57, , 8F
06/15 22:57, 8F
→
06/15 22:57, , 9F
06/15 22:57, 9F
→
06/15 23:28, , 10F
06/15 23:28, 10F
→
06/15 23:28, , 11F
06/15 23:28, 11F
推
06/15 23:33, , 12F
06/15 23:33, 12F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章