【图像处理】数字图像处理软件-图片特效--浮雕效果(四)
来源:互联网 发布: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,让他们做比较,差异色大的可以基本确定是边界色,也就可以凸显轮廓
最后返回结果。
- 【图像处理】数字图像处理软件-图片特效--浮雕效果(四)
- 【图像处理】数字图像处理软件-特效--光晕特效(五)
- 图像处理软件开发记录(六) 图像特效(浮雕、怀旧)
- 【图像处理】数字图像处理软件(一)
- 【图像处理】数字图像处理软件(二)
- Win8Metro(C#)数字图像处理--2.16图像浮雕效果
- 图像处理 浮雕效果
- android图像处理(3)浮雕效果
- android图像处理(3)浮雕效果
- android图像处理(3)浮雕效果
- android图像处理(3)浮雕效果
- 【Android图像处理】浮雕滤镜(效果)
- 【数字图像处理】浮雕效果和倒影效果
- 数字图像学习4(图像的浮雕效果)
- opengles图像处理之浮雕效果
- Android图像处理_浮雕效果
- 图像特效之浮雕(OpenCV)
- 【图像处理】数字图像处理(三)特效----锐化
- POJ-2128
- 输入一串字符,统计其中字母,数字,空格及其他符号的个数
- shell中使用vi退出的注意事项
- 【二叉树遍历算法】——广/深度优先搜索的实现
- Servlet完全教程
- 【图像处理】数字图像处理软件-图片特效--浮雕效果(四)
- ios-封装日期控件
- 第7周项目5-排队看病模拟
- java系统学习(十六) --------JDBC及其应用
- LeetCode(108) Convert Sorted Array to Binary Search Tree
- swift 自定义控件在StoryBoard(xib)里使用的属性
- JQuery基础入门
- linux下普通文件和目录文件区别
- <LeetCode><Easy> 21 MergeTwoSortedLists