映像濾鏡藝術---LOMO Filter,---lomofilter

來源:互聯網
上載者:User

映像濾鏡藝術---LOMO Filter,---lomofilter

LOMO Filter
LOMO是一種概念,即強調感受、機緣,弱化攝影技巧,不確定性和隨意性是LOMO最大特點。LOMO源於Lomography,LOMO相機,它原先是蘇聯的產物,由列寧格勒光學與機械聯盟於1980年製造出品,是一台為了福士需求而製造的傻瓜相機。常見的lomo照片構圖沒有章法,色彩濃鬱,焦點不實,曝光不準,晃動糊片也很普遍。LOMO的風格多種多樣,本文簡單介紹一種風格。具體演算法實現如下:1,原圖A與原圖使用“柔光”圖層混合,得到圖B,公式如下:        private int ModeSmoothLight(int basePixel, int mixPixel)        {            int res = 0;            res = mixPixel > 128 ? ((int)((float)basePixel + ((float)mixPixel + (float)mixPixel - 255.0f) * ((Math.Sqrt((float)basePixel / 255.0f)) * 255.0f - (float)basePixel) / 255.0f)) :                  ((int)((float)basePixel + ((float)mixPixel + (float)mixPixel - 255.0f) * ((float)basePixel - (float)basePixel * (float)basePixel / 255.0f) / 255.0f));            return Math.Min(255, Math.Max(0, res));         }2,B與一種自己設定的風格色(比如藍色:R-200,G-37,B-11)進行“排除”圖層混合,設定40%透明度,得到圖C,具體公式如下:        private int ModeExclude(int basePixel, int mixPixel)        {            int res = 0;            res = (mixPixel + basePixel) - mixPixel * basePixel / 128;            return Math.Min(255, Math.Max(0, res));        }3,選則一種暗角模板,與C進行“疊加”圖層混合,得到最終的LOMO效果,當然,如果不喜歡暗角效果,此步驟可以忽略;核心代碼如下:        private Bitmap LOMOFilterProcess(Bitmap src)        {            Bitmap srcBitmap = new Bitmap(src);            Bitmap dst = new Bitmap(src);            int w = dst.Width;            int h = dst.Height;            BitmapData dstData = dst.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);            BitmapData srcData = srcBitmap.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);            byte* pSrc = (byte*)srcData.Scan0;            byte* pDst = (byte*)dstData.Scan0;            int offset = dstData.Stride - w * 4;            int r,g,b;            for (int j = 0; j < h; j++)            {                for (int i = 0; i < w; i++)                {                    b = ModeSmoothLight(pSrc[0], pDst[0]);                    g = ModeSmoothLight(pSrc[1], pDst[1]);                    r = ModeSmoothLight(pSrc[2], pDst[2]);                    b = ModeExclude(b, 80);                    g = ModeExclude(g, 15);                    r = ModeExclude(r, 5);                    pDst[0] = (byte)b;                    pDst[1] = (byte)g;                    pDst[2] = (byte)r;                    pDst[3] = (byte)255;                    pSrc += 4;                    pDst += 4;                }                pSrc += offset;                pDst += offset;            }            dst.UnlockBits(dstData);            srcBitmap.UnlockBits(srcData);            return dst;        }如下:

原圖

LOMO Filter

最後,放上一個完整C#程式DEMO的下載連結:http://www.zealpixel.com/thread-66-1-1.html

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.