Java数字图像处理与特效
基于Java语言实现常见的2D图像处理算法
研究与实现常见的2D图像特效,专注2D图像处理
gloomyfish
OpenCV开发骨灰级工程师!一间方格熬岁月,青丝半落写无相;不曾回首指尖累,神游沧海渡此生!
展开
-
图像处理之积分图应用三(基于NCC快速相似度匹配算法)
基于积分图算法实现了对模板匹配算法NCC的快速计算,可以用于工业检测中电路板对比,安防检测中的异常情况检测等多种场景实现快速实时检测。原创 2016-11-03 15:59:14 · 31067 阅读 · 10 评论 -
图像处理之三角法图像二值化
图像处理之三角法图像二值化三角法求阈值最早见于Zack的论文《Automatic measurement of sister chromatid exchange frequency》主要是用于染色体的研究,该方法是使用直方图数据,基于纯几何方法来寻找最佳阈值,它的成立条件是假设直方图最大波峰在靠近最亮的一侧,然后通过三角形求得最大直线距离,根据最大直线距离对应的直方图灰度等级即为分割阈值,图示如下原创 2016-12-31 10:20:46 · 9577 阅读 · 0 评论 -
图像处理之USM锐化
一种新的图像锐化方法,基于高斯模糊的图像锐化算法。原创 2016-07-09 00:46:36 · 13048 阅读 · 3 评论 -
图像处理之积分图应用二(快速边缘保留滤波算法)
介绍图像处理中基于积分图像实现的边缘保留滤波算法。局部均方差噪声降低算法可以用于图像美化类APP应用上的实用算法, 也是图像积分图应用的第二篇,还有更多应用算法介绍。请关照本博客。原创 2016-10-06 16:21:43 · 8018 阅读 · 8 评论 -
图像处理之积分图应用一(半径无关的快速模糊算法)
基于积分图像算法实现图像的快速模糊,完全不同于传统卷积的计算方式,让模糊变成与半径无关的常量时间完成操作。原创 2016-10-02 00:28:30 · 4067 阅读 · 4 评论 -
图像处理之积分图算法
介绍积分图像算法概念与代码实现原创 2016-09-30 13:38:52 · 16908 阅读 · 7 评论 -
图像处理之Canny边缘检测
带你一步一步剖析经典图像边缘检测算法Canny Edge Detection,从高斯模糊到梯度计算、边缘幅值与角度计算、非最大信号压制、双阈值选取边缘、边缘连接到结果输出,完整代码实现。原创 2014-11-16 16:50:47 · 70205 阅读 · 19 评论 -
图像处理之三种常见双立方插值算法
介绍图像基于卷积计算三种双立方插值函数,分别是三角线性分布、Bell钟型分布、B样条曲线分布通过它们实现图像双立方插值放大。原创 2014-10-12 20:06:06 · 33496 阅读 · 4 评论 -
图像处理之基于图的广度优先搜索组件标记算法
介绍无向图的BFS算法, 基于图的广度优先搜索算法实现对二值图像的连通组件标记与分析。原创 2014-03-29 13:55:21 · 4028 阅读 · 6 评论 -
图像处理之计算连通区域的角度方向
实现二值图像区域方向计算,基于Moment算法演示。原创 2014-01-26 18:01:12 · 9410 阅读 · 2 评论 -
图像处理之计算二值连通区域的质心
计算二值图像连通区域的中心点/质心, 演示Image Moments算法与连通组件标记算法运用二值图像区域中心点寻找在图像分析与模式识别中有着重要的地位。原创 2013-12-27 00:15:14 · 32388 阅读 · 5 评论 -
图像处理之霍夫变换圆检测算法
演示应用Hough变换检测图像中得圆,得到检测目标,详解讲述了这一算法过程并且展示了算法运行的效果. 讨论了hough变换检测的先决条件.原创 2013-12-10 23:07:36 · 48525 阅读 · 13 评论 -
图像处理之角点检测算法(Harris Corner Detection)
Harris特征具有旋转不变性在很多方面应用广泛。演示图像处理中非常重要的特征提取算法Harris角点检测算法,从原理解释到代码实现包含了图像编程中各种基本技巧与常见各种处理手段。原创 2013-11-23 22:55:15 · 37511 阅读 · 9 评论 -
图像处理之高斯一阶及二阶导数计算
演示图像中高斯一阶与二阶导数的计算方法,这个在图像的特征提取与处理中十分有用!一阶导数可以反应出图像灰度梯度的变化情况二阶导数可以提取出图像的细节同时双响应图像梯度变化情况原创 2013-11-17 13:09:50 · 54933 阅读 · 10 评论 -
图像处理之基于高斯金字塔的图像融合
介绍图像的金字塔融合算法,实现图像的无缝拼接与融合,抛砖引玉,希望得到更多人的关注。代码完全是自己实现,没有任何第三方库支持。希望对爱好图像处理的各位能有一点点帮助。原创 2013-09-20 22:50:50 · 12825 阅读 · 1 评论 -
图像处理之老照片特效
PS中有一种滤镜可以让图像看上去好像历经岁月,微微泛黄英文中这种图像特效被称为Sepia Tone Effect 直译过来的意思就是黄褐色特效。它的基本处理算法如下:1. 首先对图像重新计算RGB值,计算公式如下:int fr= (int)(((double)tr * 0.393) + ((double)tg * 0.769) + ((double)tb * 0.189));in原创 2013-06-21 08:43:45 · 9063 阅读 · 1 评论 -
图像处理之高斯金字塔
一:图像金字塔基本操作对一张图像不断的模糊之后向下采样,得到不同分辨率的图像,同时每次得到的新的图像宽与高是原来图像的1/2, 最常见就是基于高斯的模糊之后采样,得到的一系列图像称为高斯金字塔。高斯金字塔不同(DoG)又称为拉普拉斯金字塔,其计算公式如下:L(i) = G(i) – expand(G(i+1))第i层拉普拉斯金字塔是由第i层高原创 2013-06-18 06:58:59 · 51730 阅读 · 23 评论 -
图像处理之距离变换
图像处理之距离变换概述距离变换是二值图像处理与操作中常用手段,在骨架提取,图像窄化中常有应用。距离变换的结果是得到一张与输入图像类似的灰度图像,但是灰度值只出现在前景区域。并且越远离背景边缘的像素灰度值越大。基本思想根据度量距离的方法不同,距离变换有几种不同的方法,假设像素点p1(x1, y1), p2(x2, y2)计算距离的方法常见的有:1. 欧几里德原创 2013-05-15 21:36:53 · 14831 阅读 · 1 评论 -
图像处理之K-Means算法演示
一:数学原理K-Means算法的作者是MacQueen, 基本的数学原理很容易理解,假设有一个像素数据集P。我们要根据值不同将它分为两个基本的数据集合Cluster1, Cluster2,使用K-Means算法大致如下:假设两个Cluster的RGB值分别为112,225,244和23,34,99则像素集合中的像素点a(222,212,234), b(198,205,229),原创 2013-04-20 17:49:15 · 24970 阅读 · 21 评论 -
图像处理之Fuzzy C Means的聚合算法
Fuzzy C-Means聚合算法在图像分割(segmentation)和图像视觉处理中常常被用到聚合算法之一本文是完全基于JAVA语言实现Fuzzy C-Means聚合算法,并可以运用到图像处理中实现简单的对象提取。一:数学原理在解释数学原理之前,请先看看这个链接算是热身吧http://home.deib.polimi.it/matteucc/Clustering/t原创 2013-04-14 16:27:41 · 17641 阅读 · 6 评论 -
图像处理之玻璃水印特效(祝大家圣诞节快乐)
基本流程:一幅文字图像,一幅目标图像,文字将会被作为水印添加到目标图像中。最终生成一幅带水印的目标图像。基本思想:首先对文字图像进行预处理,扫描它的每个像素提取文字图像的水平与垂直边缘。完成对整个文字图像扫描以后,就得到了文字图像的水平与垂直边缘数据。关于边缘提取可以参考这里:http://blog.csdn.net/jia20003/article/details/756原创 2012-12-25 00:16:57 · 5374 阅读 · 6 评论 -
图像处理之图像快速旋转算法
基本思想:旋转矩阵在旋转角度较小的情况下可以通过两次错切变化得到旋转效果的图片,在旋转角度较大的情况下可以通过三次错切得到等价旋转效果图像(较小角度小于15度,较大角度在90度之内),对于旋转角度超过90度,首先旋转特殊角度90,180,270,然后在旋转剩下的角度数。90,180,270是特殊角度,可以通过简单的矩阵变换得到。旋转矩阵到三次等价错切矩阵等式如下:原创 2012-11-25 00:22:40 · 20751 阅读 · 2 评论 -
图像处理之Mean Shift滤波(边缘保留的低通滤波)
一:Mean Shift算法介绍Mean Shift是一种聚类算法,在数据挖掘,图像提取,视频对象跟踪中都有应用。本文重要演示Mean Shift算法来实现图像的低通边缘保留滤波效果。其处理以后的图像有点类似油画一样。Mean Shift算法的输入参数一般有三个:1. 矩阵半径r,声明大小2. 像素距离,常见为欧几里德距离或者曼哈顿距离3. 像原创 2012-11-22 23:27:53 · 12854 阅读 · 13 评论 -
图像处理之线性插值旋转算法(biline-interpolation rotate algorithm)
图像处理之线性插值旋转算法基本数学知识:1. 三角函数基本知识,sin, cosin2. 反三角函数基本知识,知道任意一点坐标P(x, y)求取该点的角度a = atag2(y/x)3. 极坐标与笛卡尔坐标系转换知识图像旋转矩阵:由此可以计算图像旋转以后的新的高度与宽度。相关算法:双线性插值算法,实现图像旋转反锯齿效果,同时是一种高原创 2012-11-07 21:13:15 · 12127 阅读 · 7 评论 -
图像处理之直方图均衡化
图像处理之直方图均衡化基本思想:直方图图均衡化是图像处理中的常用图像增强手段,直方图均衡化的主要优点是可以降低图像噪声,提升图像的局部显示。对于常见的RGB图像,直方图均衡化可以分别在三个颜色通道上处理,基本的直方图均衡化的公式为:其中nj表示灰度级为Rk的像素的个数,L为图像中灰度总数,对于RGB来说L的取值范围为[0~255]总灰度级为256个。而R表示输入图像的直原创 2012-10-27 22:29:33 · 12257 阅读 · 8 评论 -
图像处理之半调色融合
图像处理之半调色融合图像处理中错误扩散,抖动算法在在数字半调技术中有着重要的应用,是报纸,黑白打印机等输出设备常常采用的技术。常见的图像半调技术有矩阵错误扩散,弗洛伊德-斯坦德伯格错误扩散,空间填充曲线采样错误扩散等。本文借助半调算法,实现两张图像的融合,将背景纹理融合到目标图像中,创造惊艳的图像处理效果。算法基本思想:读取纹理图像像素点P(x,y)与目标图像对应像素D原创 2012-10-26 21:40:35 · 4106 阅读 · 6 评论 -
图像处理之光源退化效果
基本思想:RGB像素的亮度是由RGB各个分量值的大小决定的,分量越大,亮度越大。看上去好像光照效果越明显,光源退化效果是模拟光照在图像的中心点上,慢慢扩散到周围,越靠近中心点像素,图像越亮,越远离图像越暗。原理可以说是非常的简单,只要计算图像中每个像素到中心像素的欧几里德距离,归一化以后得到scale值(0到1之间)乘以原来的RGB像素值即得到每个像素处理以后的RGB像素值。原创 2012-10-21 18:14:37 · 5718 阅读 · 0 评论 -
图像处理之常见二值化方法汇总
图像处理之常见二值化方法汇总图像二值化是图像分析与处理中最常见最重要的处理手段,二值处理方法也非常多。越精准的方法计算量也越大。本文主要介绍四种常见的二值处理方法,通常情况下可以满足大多数图像处理的需要。主要本文讨论的方法仅针对RGB色彩空间。 方法一:该方法非常简单,对RGB彩色图像灰度化以后,扫描图像的每个像素值,值小于127的将像素值设为0(黑色),值大于等于12原创 2012-10-15 20:41:37 · 119248 阅读 · 15 评论 -
图像处理之调整亮度与饱和度
图像处理之调整亮度与饱和度什么是亮度:简单点说一幅图像的亮度属性是图像的RGB值的大小,RGB各个值越大亮度越高RGB分量取值范围为0~255之间。调整图像亮度。什么是饱和度:饱和度是是指颜色的强度,调整饱和度可以修正过度曝光或者未充分曝光的图片。使图像看上去更加自然。基本思想:通常在RGB色彩空间调整亮度与饱和度不是很直观,而HSL原创 2012-09-27 21:41:59 · 20187 阅读 · 6 评论 -
图像处理之基于阈值模糊
图像处理之基于阈值模糊算法思想:实现一个高斯卷积模糊但是只运用与周围的像素值与中心像素值差值小于阈值。两个像素值之间的距离计算可以选用向量距离即曼哈顿距离或者欧几里德距离。高斯模糊采用先XY方向一维高斯模糊完成目的是为了减小计算量。程序效果:关键代码解释:分别完成XY方向的一维高斯模糊thresholdBlur( kernel, inPixels, ou原创 2012-09-26 08:15:12 · 3861 阅读 · 2 评论 -
图像处理之图像快速插值放缩算法
算法思想:基于双线性算法的分解,分别进行水平与垂直两个方向的放缩,完成对整张图像的放大或者缩小。基于的数学思想为矩阵的乘法,对一个scale矩阵可以拆分为水平与垂直方向的两个关联矩阵,具体如下:关于什么是双线性插值参加这里:http://blog.csdn.net/jia20003/article/details/6915185程序解释:类ScaleFilter完成原创 2012-09-24 19:51:49 · 5000 阅读 · 5 评论 -
图像处理之仿画笔效果一
图像处理之仿画笔效果一仿画笔效果最终完成自动完成从一张RGB图像到手工油画效果根据设定好的几个基本参数,本文章解释算法的前半部分。完整的算法介绍参见这里:http://lvelho.impa.br/ip/papers/npar2000.pdf StrokeAreas本文的算法主要是通过输入像素计算Color Difference与moment值得到输出像素从而得到图像上的画原创 2012-08-12 20:40:37 · 6313 阅读 · 12 评论 -
图像处理之相似图片识别(直方图应用篇)
图像处理之相似图片识别(直方图应用篇)算法概述:首先对源图像与要筛选的图像进行直方图数据采集,对采集的各自图像直方图进行归一化再使用巴氏系数算法对直方图数据进行计算,最终得出图像相似度值,其值范围在[0, 1]之间0表示极其不同,1表示极其相似(相同)。 算法步骤详解:大致可以分为两步,根据源图像与候选图像的像素数据,生成各自直方图数据。第二步:使用第一步输出的原创 2012-07-22 00:31:32 · 54437 阅读 · 62 评论 -
图像处理之应用篇-大米计数续
图像处理之应用篇-大米计数续背景介绍:请看博客文章《图像处理之简单综合实例(大米计数)》其实拍出来的照片更多的是含有大米颗粒相互接触,甚至于有点重叠的照片要准确计算大米的颗粒数非常困难,通过图像形态学开闭操作,腐蚀等手段尝试以后效果不是很好。最终发现一种简单明了但是有微小误差的计数方法。照相机图片:算法思想:主要是利用连通区域发现算法,发现所有连通区域,原创 2012-07-17 23:19:54 · 7141 阅读 · 2 评论 -
图像处理之双边滤波效果(Bilateral Filtering for Gray and Color Image)
图像处理之双边滤波效果(Bilateral Filtering for Gray and Color Image)基本介绍:普通的时空域的低通滤波器,在像素空间完成滤波以后,导致图像的边缘部分也变得不那么明显,整张图像都变得同样的模糊,图像边缘细节丢失。双边滤波器(ABilateral Filter)可以很好的保留边缘的同时消除噪声。双边滤波器能做到这些原因在于它不像普通的高斯/卷原创 2012-07-12 15:52:08 · 24831 阅读 · 11 评论 -
图像处理之水纹效果
主要思想:主要是利用三角正弦函数与余弦函数的变换效果,完成对像素的位移变换,产生水纹效果,因为自然界中的水纹多少都是正弦波或者余弦波的叠加效果。参数解析:支持两个输入参数设置,一个是波长,表示像素位移的多少,另外一个是周期表示正弦或者余弦函数的在像素中的变换周期。关键程序解析:计算位移与周期变化代码如下:xoffset = (int)((double)wave *原创 2012-07-09 21:22:02 · 6110 阅读 · 1 评论 -
图像处理之霍夫变换(直线检测算法)
图像处理之霍夫变换(直线检测算法)霍夫变换是图像变换中的经典手段之一,主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。霍夫变换寻找直线与圆的方法相比与其它方法可以更好的减少噪声干扰。经典的霍夫变换常用来检测直线,圆,椭圆等。 霍夫变换算法思想:以直线检测为例,每个像素坐标点经过变换都变成都直线特质有贡献的统一度量,一个简单的例子如下:一条直线在图原创 2012-07-07 14:42:21 · 118903 阅读 · 38 评论 -
图像处理之开操作详解
开操作概述:图像处理中的开闭运算是两个非常重要的数学形态学操作,它们同时都继承自基本的腐蚀与膨胀操作,这些操作一般都会应用在二值图像的分析与处理上。开操作有点像腐蚀操作,主要是会remove前景像素边缘,但是不会像腐蚀操作remove那么多边缘像素。开操作主要是用来保留某种结构操作,remove其他不符合结构元素的前景区域像素。 开操作原理:一个开操作是一个腐蚀操作再接原创 2012-07-01 19:11:14 · 11976 阅读 · 1 评论 -
五种基于RGB色彩空间统计的皮肤检测算法
最近一直在研究多脸谱识别以及如何分辨多个皮肤区域是否是人脸的问题网上找了很多资料,看了很多篇文章,将其中基于RGB色彩空间识别皮肤的统计算法做了一下总结,统计识别方法主要是简单相比与很多其它基于机器学习的算法,本人总结了五种RGB色彩空间的统计算法源码如下:Skin Filter1:public class SkinFilter1 extends AbstractBuffe原创 2012-06-26 22:22:27 · 7935 阅读 · 1 评论 -
图像处理之图像梯度效果
图像处理之图像梯度效果基本思想:利用X方向与Y方向分别实现一阶微分,求取振幅,实现图像梯度效果。关于如何计算图像一阶微分参见这里:http://blog.csdn.net/jia20003/article/details/7562092使用的两种微分算子分别为Prewitt与Sobel,其中Soble在X, Y两个方向算子分别为:Prewitt在X, Y方向原创 2012-06-14 23:05:48 · 50034 阅读 · 22 评论