好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

android图片特效算法.doc

6页
  • 卖家[上传人]:飞***
  • 文档编号:22058751
  • 上传时间:2017-11-25
  • 文档格式:DOC
  • 文档大小:40.50KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 图片特效算法1、把资源图片转为灰度图原理: 彩色图像处理成黑白效果通常有 3 种算法:(1).最大值法:使每个像素点的 R, G, B 值等于原像素点的 RGB(颜色值)中最大的一个; (2).平均值法:使用每个像素点的 R,G,B 值等于原像素点的 RGB 值的平均值; (3).加权平均值法:对每个像素点的 R,G, B 值进行加权以下是平均法:// 获取当前点pos = y * width + x;// 获取图片当前点的像素值pixColor = dst[pos];// 获取 RGB 三原色R = Color.red(pixColor);G = Color.green(pixColor);B = Color.blue(pixColor);// 去平均pixel = (R + G + B) / 3;R = G = B = pixel;2、底片效果 原理: GetPixel 方法获得每一点像素的值 , 然后再使用 SetPixel 方法将取反后的颜色值设置到对应的点// RGB 三色取反pixel = R;pixel = 255 - pixel;R = pixel; // 计算后重置 R 值,以下类同pixel = G;pixel = 255 - pixel;G = pixel;pixel = B;pixel = 255 - pixel;B = pixel;3、浮雕效果原理: 对图像像素点的像素值分别与相邻像素点的像素值相减后加上 128, 然后将其作为新的像素点的值.pos = y * width + x;pos1 = (y + 1) * width + (x + 1);pixColor = dst[pos]; // 获取图片当前点的像素值pixColor1 = dst[pos1]; // 获取图片当前点的像素值R = Color.red(pixColor); // 获取 RGB 三原色G = Color.green(pixColor);B = Color.blue(pixColor);R1 = Color.red(pixColor1); // 获取 RGB 三原色G1 = Color.green(pixColor1);B1 = Color.blue(pixColor1);R = Math.abs(R - R1 + 128);G = Math.abs(G - G1 + 128);B = Math.abs(B - B1 + 128);if (R 255)R = 255;if (G 255)G = 255;if (B 255)B = 255;4、冰冻效果pixel = R - G - B;pixel = pixel * 3 / 2;if (pixel 255)pixel = 255;R = pixel; // 计算后重置 R 值,以下类同pixel = G - B - R;pixel = pixel * 3 / 2;if (pixel 255)pixel = 255;G = pixel;pixel = B - R - G;pixel = pixel * 3 / 2;if (pixel 255)pixel = 255;B = pixel;5、雾化效果原理: 在图像中引入一定的随机值 , 打乱图像中的像素值Random MyRandom = new Random();// 随机数,在像素块数值不变时,随机数数值越大越模糊,像素块越密集int k = MyRandom.nextInt(123456);// 像素块大小;在随机数不变的情况下,所除的数越大越模糊,越密集int dx = x + k % 8;int dy = y + k % 8;if (dx >= width)dx = width - 1;if (dy >= height)dy = height - 1;pos = dy * width + dx;pos1 = y * width + x;dst[pos1] = dst[pos]; // 获取图片当前点的像素值6、积木效果 原理: 对图像中的各个像素点着重 (即加大分像素的颜色值)着色.// 去平均pixel = (R + G + B) / 3;if (pixel >= 128) {pixel = 255;} else {pixel = 0;}R = G = B = pixel;7、熔铸效果pixel = R * 128 / (G + B + 1);if (pixel 255)pixel = 255;R = pixel;pixel = G * 128 / (B + R + 1);if (pixel 255)pixel = 255;G = pixel;pixel = B * 128 / (R + G + 1);if (pixel 255)pixel = 255;B = pixel;8、连环画效果// R = |g – b + g + r| * r / 256;pixel = Math.abs(G - B + G + R) * R / 256;if (pixel > 255)pixel = 255;R = pixel;// G = |b – g + b + r| * r / 256;pixel = Math.abs(B - G + B + R) * R / 256;if (pixel > 255)pixel = 255;G = pixel;// B = |b – g + b + r| * g / 256;pixel = Math.abs(B - G + B + R) * G / 256;if (pixel > 255)pixel = 255;B = pixel;9、边缘高亮(霓虹处理)首先计算原图象像素 f(i,j)的红,绿,蓝分量与相同行 f( i+1,j)及同列 f(i,j+1)相邻象素的梯度,即差的平方之和的平方根,然后将梯度值作为处理后的象素 g(i,j)的红,绿,蓝分量值。

      // 获取当前点pos = y * width + x;pos1 = y * width + x + width;pos2 = y * width + x + 1;// 获取图片当前点的像素值pixColor = dst[pos];pixColor1 = dst[pos1];pixColor2 = dst[pos2];// R 取值pixel = (int) (Math.pow((Color.red(pixColor) - Color.red(pixColor1)), 2) + Math.pow((Color.red(pixColor) - Color.red(pixColor2)), 2));pixel = (int) (Math.sqrt(pixel) * 2);if (pixel 255)pixel = 255;R = pixel;// G 取值pixel = (int) (Math.pow((Color.green(pixColor) - Color.green(pixColor1)), 2) + Math.pow((Color.green(pixColor) - Color.green(pixColor2)),2));pixel = (int) (Math.sqrt(pixel) * 2);if (pixel 255)pixel = 255;G = pixel;// B 取值pixel = (int) (Math.pow((Color.blue(pixColor) - Color.blue(pixColor1)), 2) + Math.pow((Color.blue(pixColor) - Color.blue(pixColor2)), 2));pixel = (int) (Math.sqrt(pixel) * 2);if (pixel 255)pixel = 255;B = pixel;10、 锐化效果计算原图像像素 f(i,j)的像素值与该像素与相邻像素 f(i-1,j-1)像素值之差的绝对值得百分比之和,作为处理后图像像素 g(i,j)的像素值。

      // 获取当前点pos1 = y * width + x;pos2 = (y + 1) * width + (x + 1);pixColor1 = dst[pos1];pixColor2 = dst[pos2];// 获取点 1 的三色值r1 = Color.red(pixColor1);g1 = Color.green(pixColor1);b1 = Color.blue(pixColor1);// 获取点 2 的三色值r2 = Color.red(pixColor2);g2 = Color.green(pixColor2);b2 = Color.blue(pixColor2);// 计算新的三色值r = r1 + (temp / 100) * Math.abs(r1 - r2);g = g1 + (temp / 100) * Math.abs(g1 - g2);b = b1 + (temp / 100) * Math.abs(b1 - b2);。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.