Re: [問題] 請問圖片模糊化
※ 引述《del680202 (飄落的櫻花)》之銘言:
: 之前有找到演算法
: 說讓每個像素等於他上下左右像素的RGB的平均值
: 但是這種做法太耗時間了 1024*768的圖片就不知道要花多久
: 後來小弟有找到比較快的方法 就是用指標的方式去巡
: BitmapData bmData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width,
: bitmap.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
: int stride = bmData.Stride;
: System.IntPtr Scan0 = bmData.Scan0;
: unsafe {
: byte* p = (byte*)(void*)Scan0;
: int nOffset = stride - bitmap.Width * 3;
: int nWidth = bitmap.Width * 3;
: byte b = p[0];
: for (int y = 1; y < bitmap.Height; ++y)
: {
: for (int x = 0; x < nWidth; ++x)
: {
: p[0]=b;
: ++p;
: }
: p += nOffset;
: }
: }
: bitmap.UnlockBits(bmData);
: 但是這種方法沒辦法指定他上下左右像素的RGB值
: 請問用第2種方法要怎麼做到圖片模糊化的效果
: 小弟搜google都只有反色差 灰階 跟打光的處理而已...~"~
其實看不太懂第二個方法是怎麼存取pixel的,幫不上XD。
但如果要做模糊化,第一個方法本身就是要做這麼多運算呀!
除非你改影像模糊化的算法
還是你覺得陣列索引比指標累加還要花時間?
一般來說應該是會用Mask來完成第一段的方法,看起
來比較簡潔,也可以透過更改Mask中的值來做不同的效果。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.136.147.164
※ 編輯: Rokund 來自: 140.136.147.164 (08/23 13:42)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章