C_and_CPP 板


LINE

※ 引述《KSJ (阿真)》之銘言: : 啊 很抱歉 : 我沒學過c++ 我是寫c的 : 而且我沒用過bcb 上網查查應該是影像處理類的東西 : 不過在觀念上可以給你一些協助 : 解決辨法 可能要另請高人了... : ※ 引述《luandrew (阿咪)》之銘言: : : 恕刪 : : void __fastcall TForm1::Button2Click(TObject *Sender) : 看起來好像gui裡的button按下去之後要做的事 是的, 它的Window Form上至少有這一個Button.... 當它被按下的時候, 就會走進這一個function~~ 或者應該說會走進這一個method進來.... 其中, Button是Form的member, 這個function是Form的method.... : : { : : 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的沒有 不知道有沒有問題(因為我不會啊 囧) : 但不影響對程式觀念的解讀 Image, Picture都是一個class, Width是Picture的member.... Picture又是Image的member, 而且Image1是一個pointer.... 因為是pointer, 所以用Image1->Picture->..... 不然要用(*Image1).Picture....或許也可以吧.... 印像中, Image的Width和Picture的Width會是一致的.... 或者小弟我還沒有碰過會讓兩者不一樣的情形.... 但是就coding的一致性來說, 要嘛都用Picture這層, 要嘛都別用會比較好.... : : TCColor c=Image1->Canvas->Pixels[x][y]; : 看起來是把在 x y 這座標的Pixels值 放入TCColor形態的變數c中 應該說, Pixels[][]本身就是一個TCColor的二維陣列.... 所以取出一個element的時候自然也是放到一個TCColor型態的變數裡.... : : if((int)c.Green < 128) : : { : 綠色成份小於128的話 就做下面的事 : 你也可以看看 你要程式幫你做什麼 不太確定是不是一開始就是讀入G=B=R的灰階圖.... 是的話, 那其實它只是取一個Green來當灰階值判斷.... 做為二值化的依據; 的確這裡有註解會比較好@_@" <餘恕刪> : 這個問題問得很好 囧... : 呃...至少必須要記錄x跟y的座標吧 : 上面的程式 看起來使用完變數就消失了 : 當然也是可以用完即丟 : 不過 感覺你再開一次圖檔 : 專心記錄xy座標再計算 比較不會分心 其實不用把x / y座標一個一個記錄下來也沒有關係.... 反正最後會除以總點數取平均, 所以只要累加座標就行了.... 不過, 相對的就可能會有加到int爆表的問題出現XD : 也許會浪費許多資源 : 但先以能達成目標為主 之後再慢慢改得盡善盡美吧 : 最後 你給我的感覺 : 有點那種 臨陣磨槍的感覺 : 是有什麼東西要急著生出來嗎 還是你的學長姊要磨練你呢 : 有時間的話不妨練一些基本功 : 例如 if : for : do while : switch case : (對不起都是舉c的) 基本語法也沒有什麼是屬於C的還是屬於C++的.... 這些語法C有的C++一樣都有, 也都是需要了解的基礎:) : 都是你寫程式的利器 : 祝 程式撰寫成功... : 有誤請大家告訴我 Q_Q 不然就誤人子弟了orz... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.41.17.189 ※ 編輯: VictorTom 來自: 58.41.17.189 (06/15 23:31)
1F:推 KSJ:感謝V大 受教了<(_ _)> 真是好人一個!!!(回擊) 06/15 23:37
扯了這麼多, 試著改一個比較完整的好了=.=" void __fastcall TForm1::Button2Click(TObject *Sender) { int x,y,nB=0,nW=0; /* 多宣告幾個變數用來算質心吧 */ for(y=1;y<=Image1->Picture->Height;y++) { for(x=1;x<=Image1->Picture->Width;x++) { TCColor c=Image1->Canvas->Pixels[x][y]; if((int)c.Green < 128) { Image1->Canvas->Pixels[x][y]=TCColor(0, 0, 0).Color; nB++; // 這一行跟下一行是學姊教我的 LabeledEdit_Black->Text = IntToStr(nB); /* 加入黑色pixel的座標累加程式碼 */ } else { Image1->Canvas->Pixels[x][y]=TCColor(255, 255, 255).Color; nW++; // 這一行跟下一行是我照學姊練的 /* 你必須自己在Form上拖一個LabeledEdit並改取變數名 為LabeledEdit_White才能用, 不然compile都不會過 */ LabeledEdit_White->Text = IntToStr(nW); /* 加上白色pixel的座標累加程式碼 */ } } } /* 在上你已經累加出來黑色與白色pixel各別的總數, 也成功的加入了座標累加的程式碼的話, 現在這裡各別除一除就可以算出各別質心的所在位置了; 只是要注意除以0的case, 另外自己放元件來顯示質心的結果. */ } == 最後, 因為只是片段, 所以我也不敢確定有沒有錯漏的東西.... 還有因為小弟想閃了所以直接貼答案, 未必對您是一種阻礙.... 就算程式work了, 邏輯上您還是需要了解學姐或我們給您的程式在做什麼.... 也可能需要了解一下BCB6給您的這些元件, TImage, Picture, 其他您用到的.... 包含裡面的element/member像Pixels[][], Canvas, TCColor等等.... 那就更不用提基本C/C++程式設計了, 因為顯示您的研究所之路離不開這些XD 以上, 像K大一樣祝您程式撰寫順利, 以及找指導教授順利:) ※ 編輯: VictorTom 來自: 58.41.17.189 (06/16 00:14) ※ 編輯: VictorTom 來自: 58.41.17.189 (06/16 00:19)
2F:→ VictorTom:慘了, 中文越來越差了, 個別都寫成了各別(羞奔Q_Q~) 06/16 00:20
3F:推 KSJ:V大是壞人...(筆記ing) 揪甘心推一個~Q_Q 06/16 00:56
4F:推 syntex:話說,我一直以為要求的質心是每個封閉區塊的質心。想說現 06/16 10:24
5F:→ syntex:在的課程這麼進步了 Orz 06/16 10:24
6F:→ VictorTom:因為小弟我懶得解釋怎麼找連續的pixels區塊呀XD 06/16 10:44
7F:推 luandrew:V大.我做成功了.謝謝你的指導與教導..T__T 06/16 23:26
8F:→ VictorTom:科科~~恭喜你啦; 不過, 後面還更長的一段路呢, 加油囉:) 06/16 23:42
9F:→ VictorTom:有時間/精力的話, 下一步還可以想想怎樣找出黑/白相鄰的 06/16 23:43
10F:→ VictorTom:一整區pixels, 也就是找connected components, 像上面s 06/16 23:44
11F:→ VictorTom:大說的, 看有沒有辦法找出所有封閉區塊; 至於每個封閉區 06/16 23:44
12F:→ VictorTom:塊的質心就還好了, 會分區了, 想必個別小質心也ok的^^ 06/16 23:45







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP