阅读本系列,请先看前言!谢谢

所谓黑白图片其实就是对图像进行去色,也就是灰度化,只要调用之前写过的灰度化函数即可。

底片的原理就是对RGB取补色即可。也就是将当前像素点的RGB值分别与255之差后的值作为当前点的RGB值,即
R = 255 – R;G = 255 – G;B = 255 – B;

浮雕其实就是一种边缘检测,在图像处理基础那个系列中,介绍过的sobel算子,Prewitt算子 或者是拉普拉斯算子我觉得都有着类似的效果

本文采用了新的梯度检测算法,相比之前介绍的边缘检测算子,效果稍弱,但是视觉效果好。

底片的代码:

public Image filter() {if(this.img.gray)return this.img;  // Grayscale images can not be processedfor (int y = 0; y < this.img.h; y++) {for (int x = 0; x < this.img.w; x++) {int c = this.img.data[x + y * this.img.w];int A = (c >> 24) & 0xff; int R = (c >> 16) & 0xFF;int G = (c >> 8) & 0xFF;int B = (c >> 0) & 0xFF;R = 255 - R;  G = 255 - G;  B = 255 - B;  this.img.data[x + y * this.img.w] = (A << 24) | (R << 16) | (G << 8) | B;              }}return this.img;}

浮雕的代码:

public Image filter() {if(this.img.gray)return this.img;  // Grayscale images can not be processedint[] d = new int[this.img.w*this.img.h]; //what's the fuck. it must be writed as this. not int[] d = this.img.data;for (int y = 0; y < this.img.h -1; y++) {for (int x = 0; x < this.img.w -1; x++) {int pc = this.img.data[x + y * this.img.w];int PR = (pc >> 16) & 0xFF;int PG = (pc >> 8) & 0xFF;int PB = (pc >> 0) & 0xFF;int c = this.img.data[x + 1 + (y+1) * this.img.w];int R = (c >> 16) & 0xFF;int G = (c >> 8) & 0xFF;int B = (c >> 0) & 0xFF;R = PR - R + 128;  G = PG - G + 128;  B = PB - B + 128;  d[x + y * this.img.w] = (255 << 24) | (R << 16) | (G << 8) | B;    }}this.img.data = d;this.img.toGray();return this.img;}

处理后的效果

其实除了浮雕之外,都可以用颜色矩阵来实现。

java 图像特效之黑白 浮雕和底片相关推荐

  1. java 浮雕_java 图像特效之黑白 浮雕和底片

    所谓黑白图片其实就是对图像进行去色,也就是灰度化,只要调用之前写过的灰度化函数即可. 底片的原理就是对RGB取补色即可.也就是将当前像素点的RGB值分别与255之差后的值作为当前点的RGB值,即 R ...

  2. java 图像特效之老照片

    阅读本系列,请先看前言!谢谢 让图像微微泛黄-是不是充满回忆呢- 本文先给出一种实现方法(参考:图像处理之老照片特效) 算法步骤如下: 1. 首先对图像重新计算RGB值,计算公式如下: int fr= ...

  3. java 图像特效之图像混合(溶图)

    阅读本系列,请先看前言!谢谢 photoshop中的图层混合功能大家一定很熟悉.此功能可以根据指定模式,将2个图层进行混合,实现不同色彩风格的图像效果,也就是我们通常所说的溶图. 实现图像混合的原理其 ...

  4. java 图像特效之放大镜与哈哈镜

    阅读本系列,请先看前言!谢谢 放大镜与哈哈镜原理上是一样的,我们只要找到相关映射即可. 如这张图所示.不同的映射会有不同的效果,如线性映射会产生放大缩小的感觉,凸函数则会是凸透镜,凹函数就是凹透镜,原 ...

  5. java油画转换,java 图像特效之油画

    油画也算是一种常见的艺术品了,谁说咱们IT男不懂艺术-我们还能创造艺术,不多说,先说原理. 油画的算法很简单,对某一像素,用它附近随机一个像素来代替.没错就这么简单. 上代码: public Imag ...

  6. [Python图像处理] 二十四.图像特效处理之毛玻璃、浮雕和油漆特效

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  7. 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

    摘要:本文讲解常见的图像特效处理,从而让读者实现各种各样的图像特殊效果,并通过Python和OpenCV实现. 本文分享自华为云社区<[Python图像处理] 二十四.图像特效处理之毛玻璃.浮雕 ...

  8. Java图片gh颜色渐变_强大的Java图像滤镜特效类库Java Image Filters

    Java Image Filters是一款基于Java的图像处理类库,特别是在图像滤镜特效方面,Java Image Filters简直就是强大到天衣无缝.它几乎提供了PS上大部分的图像特效.比如反色 ...

  9. 图像处理软件开发记录(六) 图像特效(浮雕、怀旧)

    专栏地址:http://blog.csdn.net/column/details/imagep.html 本篇文章主要记录一下图像处理软件中的图像特效(浮雕.怀旧)的实现过程. 图像浮雕效果 浮雕的算 ...

最新文章

  1. php接收多层数组中文乱码解决
  2. Quartz Java resuming a job excecutes it many times--转
  3. Django之url和视图函数
  4. 【Linux】一步一步学Linux——sh命令(225)
  5. 干货!Java字节码增强探秘
  6. 内存泄露检测 vld
  7. 有关Drools业务规则引擎的完整教程
  8. jeecgboot logback-spring.xml配置不生成新日志文件
  9. 解决使用sudo没问题,但是使用su会报错 su: Authentication failure 的问题
  10. skynet启动读取配置文件浅析(skynet_main.c)
  11. 浅谈双线程dp (nyoj61 nyoj712)经典【传字条】和【探 寻 宝 藏】
  12. 审计人员需要哪些计算机知识,审计人员应具备的知识与技能
  13. 谷歌浏览器所有页面都崩溃,设置都崩溃
  14. 官方rom提取原签名工具_从安卓官方版ROM中提取你喜欢的软件(单独安装包)
  15. 查看自己本地IP地址方法
  16. 通过此方法可以揭秘iPhone与其他蓝牙产品的交互流程啦,iPhone蓝牙HCI log的抓取方式详解
  17. Java工具使用(导读)
  18. neovim图标显示乱码,utf8字体显示乱码(Windows10和Centos安装nerd-fonts)
  19. 小米4可以刷入linux,给小米4刷上SailfishOS是怎样的体验?附刷机教程
  20. 用python手刃Leetcode(1):两数之和【简单题】

热门文章

  1. Redis记录日志设计
  2. 20220530-动态规划算法及Needleman-Wunsch算法
  3. linux读书摘要--正规表示法与文件格式化处理
  4. 【每天更新】2022年最新WordPress主题下载,外贸独立站商城/企业网站/个人博客模板 2022-5-18
  5. matlab实现牛顿下山法
  6. Python批量修改图片名称,格式,并批量量化
  7. 毕业设计 Stm32人体心率血氧无线监测系统 - 单片机 物联网
  8. AB实验只是开始!如何归因才是王道!
  9. Redis占用内存过高怎么办
  10. 遮挡目标检测持续汇总