歡迎光臨 pure C# 技術社群. 登入註冊

pure C# 技術社群

- Microsoft .NET Framework 相關技術非官方討論社群 -

改善圖片二值化問題

  • 1
  • [第1/1頁 共3項]
#1

改善圖片二值化問題

  • a
 0.0 (0 人評價)
不好意思
請教各位前輩
因為我們最近在寫圖片二值化的手機mobile程式
而我們都參考網站上c#的程式去改成Mobile程式
但是我們發現我們將二值化程式讀到手機上
它處理的速度太慢了,我們也知道手機執行的速度不能跟桌電比
不知道前輩可以提供我們改善的方法嗎?
以下是我們的程式碼

二值化過程是由scollbar去決定它的閥值!

private void hScrollBar1_ValueChanged(object sender, EventArgs e)
        {
          
                Bitmap binarybmp = new Bitmap(pictureBox1.Image);
                //int binaryrgb;
                int threshold = hScrollBar1.Value;
                for (int y = 0; y < binarybmp.Height; y++)
                {
                    for (int x = 0; x < binarybmp.Width; x++)
                    {
                        Color c = binarybmp.GetPixel(x, y);
                        if (c.R < threshold)
                            binarybmp.SetPixel(x, y, Color.FromArgb(0, 0, 0));
                        else
                   binarybmp.SetPixel(x, y, Color.FromArgb(255, 255, 255));
                    }
                    pictureBox1.Refresh();
                }

請前輩不吝指教

  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息


贊助商連結

#2

Re: 改善圖片二值化問題

  • a
 0.0 (0 人評價)
我想會慢的原因應該是卡在回圈的數量
一個250x250像素的圖片就要跑62500次的回圈
每個回圈內都會判斷threshold值跟改變像素顏色
看起來回圈次數是沒辦法減少
但是可以從簡化回圈內的指令來達到加速的要求


  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息

#3

Re: 改善圖片二值化問題

  • a
 0.0 (0 人評價)
需要加速時 - 用空間換取時間
資源貧乏時 - 用時間換取空間

若有情天亦老,人不風流枉少年
有老,下有小,誰與我共用天倫
前人後說不盡人間不平事
間都朝陽,個個全滋潤,不亦樂乎
  • 回覆
  • |
  • 引用
  • |
  • 編輯
  • |
  • 私人訊息
  • 1
  • [第1/1頁 共3項]