日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图片处理--羽化特效

發(fā)布時間:2024/3/13 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图片处理--羽化特效 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
float mSize = 0.5f;public Bitmap render(Bitmap bitmap){if(bitmap == null)return null;final int SIZE = 32768;int width = bitmap.getWidth();int height = bitmap.getHeight();int ratio = width >height ? height * SIZE /width : width * SIZE/height;//這里有額外*2^15 用于放大比率;之后的比率使用時需要右移15位,或者/2^15.int cx = width>>1;int cy = height>>1;int max = cx*cx + cy*cy;int min = (int)(max *(1-mSize));int diff= max -min;// ===>> int diff = (int)(max * mSize);int[] pixels = new int[width * height];bitmap.getPixels(pixels ,0 , width , 0 , 0 , width , height);for(int i=0 ; i<height ; i++){for(int j=0 ; j<width ; j++){int pixel = pixels[i*width +j];int r = (pixel & 0x00ff0000)>>16;int g = (pixel & 0x0000ff00)>>8;int b = (pixel & 0x000000ff);int dx = cx - j;int dy = cy - i;if(width > height){dx= (dx*ratio)>>15;}else{dy = (dy * ratio)>>15;}int dstSq = dx*dx + dy*dy;float v = ((float) dstSq / diff)*255;r = (int)(r +v);g = (int)(g +v);b = (int)(b +v);r = (r>255 ? 255 : (r<0? 0 : r));g = (g>255 ? 255 : (g<0? 0 : g));b = (b>255 ? 255 : (b<0? 0 : b));pixels[i*width +j] = (pixel & 0xff000000) + (r<<16)+ (g<<8) +b;}}return Bitmap.createBitmap(pixels ,width , height , Config.ARGB_8888);} 在PHOTOSHOP里,羽化就是使你選定范圍的圖邊緣達到朦朧的效果。 羽化值越大,朦朧范圍越寬,羽化值越小,朦朧范圍越窄。可根據(jù)你想留下圖的大小來調(diào)節(jié)。 算法分析: 1、通過對rgb值增加額外的V值實現(xiàn)朦朧效果 2、通過控制V值的大小實現(xiàn)范圍控制。 3、V ?= 255 * 當(dāng)前點Point距中點距離的平方s1 / (頂點距中點的距離平方 *mSize)s2; 4、s1 有根據(jù) ratio 修正 dx dy值。


Reference:http://www.cnblogs.com/lipeil/archive/2012/09/21/2696519.html
更加簡單的方式:
分析PS的羽化結(jié)果可以知道,羽化達成了兩個目的:1. 平滑輪廓線 2. 擴寬過渡區(qū)域
1.平滑輪廓線:可以采用均值濾波和cvSnakeImage()兩種方式,前者維護一個寬度為H的窗口,窗口內(nèi)均值濾波;而后者是OpenCV的C語言版本函數(shù)C++沒有包含,其原理是能量最小化,經(jīng)過測試前者的速度略高于后者,且當(dāng)H較大時,可以采用窗口加權(quán)減一加一的方式來代替每次都求H次加權(quán)的方式;
2.擴寬過度區(qū)域:采用對mask采用全圖均值濾波方法即可,卷積核的半徑越大,過渡區(qū)域越寬。
---------------------?
版權(quán)聲明:本文為CSDN博主「小熊不去實驗室」的原創(chuàng)文章,遵循CC 4.0 by-sa版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yangtrees/article/details/9210153

總結(jié)

以上是生活随笔為你收集整理的图片处理--羽化特效的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。