【图像处理】数字图像处理软件-图片特效--浮雕效果(四)

来源:互联网 发布:r语言 wine数据分析 编辑:程序博客网 时间:2024/05/16 19:13

接上之前的数字图像处理软件系列,其实这个APP很早之前就做完了,主要是模仿了美图秀秀。之前因为太多事而耽误了,现在继续把这系列的博客写完

     那么开始正文:

     这次要讲的图片特效部分是:浮雕特效

     老规矩,话不多说,我们来看效果图:

                                                               

那么下面就开始讲解:

浮雕的特性我们必须得知道,浮雕不凸显细节但是凸显轮廓,这是浮雕的特性,那么轮廓有哪些特点呢?我个人认为,图片中的事物,他们的轮廓区分,基本可以靠颜色区分,也就是边界的颜色差异,当然这个方法只是可以突出局部的轮廓,但这也足够用了。所以和前几篇一样,我们需要用RGB操作,即比较RGB(凸显边界)


 //浮雕
    public static Bitmap  img_fudiao(Bitmap  bm){
    
 
 int width = bm.getWidth();    
int height = bm.getHeight();
 Bitmap  bmp= Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); 


 
 int color,color2;  
     //前一个像素  
    int pixelsR,pixelsR2;  
    int pixelsG,pixelsG2;  
    int pixelsB,pixelsB2;  
     //当前像素  
    
 
 
int[] pixels = new int[width * height];
bm.getPixels(pixels, 0, width, 0, 0, width, height);
 
for(int i=1;i<width*height;i++)
{
  color = pixels[i-1];  
               //前一个像素  
               pixelsR = Color.red(color);  
               pixelsG = Color.green(color);  
               pixelsB = Color.blue(color);  
               //当前像素  
               color2 = pixels[i];  
               pixelsR2 = Color.red(color2);  
               pixelsG2 = Color.green(color2);  
               pixelsB2 = Color.blue(color2);  
                 
               pixelsR = (pixelsR - pixelsR2 + 127);  
               pixelsG = (pixelsG - pixelsG2 + 127);  
               pixelsB = (pixelsB - pixelsB2 + 127);  
               //均小于等于255  
               if(pixelsR > 255){  
                   pixelsR = 255;  
               }  
                 
               if(pixelsG > 255){  
                   pixelsG = 255;  
               }  
                 
               if(pixelsB > 255){  
                   pixelsB = 255;  
               }  
               pixels[i] = Color.argb(255, pixelsR, pixelsG, pixelsB);
}  
 
bmp.setPixels(pixels, 0, width, 0, 0, width, height);
   
    return bmp;
    }

 在代码中可以看到,每次去相邻两项的RGB,让他们做比较,差异色大的可以基本确定是边界色,也就可以凸显轮廓

最后返回结果。


2 0
原创粉丝点击