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

底片的原理就是对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 processed

for (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 processed

int[] 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 浮雕_java 图像特效之黑白 浮雕和底片相关推荐

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

    阅读本系列,请先看前言!谢谢 所谓黑白图片其实就是对图像进行去色,也就是灰度化,只要调用之前写过的灰度化函数即可. 底片的原理就是对RGB取补色即可.也就是将当前像素点的RGB值分别与255之差后的值 ...

  2. java 锐化_Java 图像的模糊与锐化

    import java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.swing.*; import ja ...

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

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

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

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

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

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

  6. 实现图像特效之浮雕与雕刻

    引言 图像处理软件中,如PhotoShop,免费开源的位图形编辑GIMP软件中,对图像进行特效的浮雕或雕刻功能.本节介绍使用OpenCV实现图像特效之浮雕和雕刻相关知识,并贴出相关参考代码以及输出测试 ...

  7. C++ OpenCV图像特效处理(剪影/怀旧/浮雕/国画/彩虹/素描特效)

    C++ OpenCV图像特效处理(绿幕抠图/剪影/怀旧/浮雕/国画/彩虹/素描特效等)支持定制,Q: 3252314061

  8. IOS – OpenGL ES 图像侵蚀边缘黑白模糊 GPUImageErosionFilter

    目录 一.简介 二.效果演示 三.源码下载 四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 Ope ...

  9. [Python图像处理] 二十五.图像特效处理之素描、怀旧、光照、流年以及滤镜特效

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

最新文章

  1. CENTOS 7安装步骤apache-tomcat-8.5.34-windows-x86
  2. Python脚本:将mol2分子库文件拆分为单个mol2文件
  3. java 超时中断_怎么在超时后中断任务的ExecutorService
  4. [Config]如何利用ConfigurationSettings.AppSettings.GetValues读取配置文件中多个同Key的value...
  5. 深度学习核心技术精讲100篇(六十五)-万字长文从ReLU到GELU通讲神经网络激活函数
  6. log nginx 客户端请求大小_nginx
  7. 关于 p3p ie 跨域 问题
  8. 型管件的作用_管道工程基础 - 管件和管道附件的布置规定
  9. idea搭建java openCV环境
  10. 2018-2019-2 20162318《网络对抗技术》Exp2 后门原理与实践
  11. Astar算法基本概念及其实现
  12. .NET 6 运行在Win7 SP1上出错
  13. 大司、小司、外包公司
  14. 7段并行数码管显示实验C语言,七段数码管显示十进制数字 (15)
  15. 超说网络NO.4 | 深入了解应用层原理(中科大 郑烇)
  16. SwiftUI 色彩教程之 01什么是色差Color difference
  17. Tomcat详细使用步骤
  18. 10000+运维人推荐的最最实用的30个Linux命令!
  19. vite和webpack的区别
  20. Ubuntu16 wine安装迅雷

热门文章

  1. 字节码操控框架ASM - 初识
  2. git 怎么拉去分支代码_拉取github指定分支上的代码
  3. 【Linux 内核】调度器 ⑧ ( 进程优先级源码 include\linux\sched\prio.h | 进程分类 | 实时进程 | 普通进程 | 进程优先级数值 | 0 ~ 99 实时进程 )
  4. PSG开发.edf文件格式解析
  5. vue跳转页面常用的几种方法
  6. 压力变送器差压变送器的正确安装方法
  7. nginx配置禁特定路径下的反向代理
  8. python语言中浮点数_python浮点数怎么写
  9. 自然几何之分形(1)
  10. mysql 10055 解决方案_MySQL提示 Can't connect to MySQL server on'localhost' (10055) 解决方案...