参考:http://shenze60.blog.163.com/blog/static/3157477220091121250809/
1.图像的逆反处理算法
逆反处理的算法如下:
设r,g,b分别为源图像像素f(i,j)的红,绿,蓝分量值,rr,gg,bb分别为处理后像素g(i,j)的红,绿,蓝分量值。则
rr=255-r
gg=255-g
bb=255-b
2.图像的平滑处理
算法如下:
平滑处理是指将源图像的每一个像素的颜色值由其相邻n*n个像素的平均值来代替。
例如,对于3*3点阵而言,设原图像某像素的值为f(i,j),平滑处理后该像素的值为g(i,j),则:
g(i,j)=(f(i,j)+f(i-1,j)+f(i+1,j)+f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)+
f(i-1,j+1)+f(i,j+1)+f(i+1,j+1))/9
注意:该算法不能平滑图像边界的像素。
3. 图象的霓虹处理
算法:
对于3*3点阵,首先计算原图象像素f(i,j)的红,绿,蓝分量与相同行f(i+1,j)及同列f(i,j+1)相邻象素的梯度,即差的平方之和的平方根,然后将梯度值作为处理后的象素g(i,j)的红,绿,蓝分量值。
设r1,g1,b1分别为原图象象素f(i,j)的红,绿,蓝分量值,r2,g2,b2分别为相同行相邻象素f(i+1,j)的红,绿,蓝分量值,r3,g3,b3分别为同列相邻象素f(i,j+1)的红,绿,蓝分量值,rr,gg,bb为处理后象素g(i,j)的红,绿,蓝分量值,则:
rr1=(r1-r2)^2 rr2=(r1-r3)^2
gg1=(g1-g2)^2 gg2=(g1-g3)^2
bb1=(b1-b2)^2 bb2(b1-b3)^2
rr=2*(rr1+rr2)^0.5
gg=2*(gg1+gg2)^0.5
bb=2*(bb1+bb2)^0.5
4.图象的锐化处理
锐化处理的算法:
计算原图像像素f(i,j)的像素值与该像素与相邻像素f(i-1,j-1)像素值之差的绝对值得百分比之和,作为处理后图像像素g(i,j)的像素值。例如,设r1,g1,b1分别为f(i,j)的红、绿、蓝分量值,r2,g2,b2分别为f(i-1,j-1)的红、绿、蓝分量值,rr,gg,bb分别为g(i,j)的红、绿、蓝分量值,则:
rr=r1+0.25*abs(r1-r2)
gg=g1+0.25*abs(g1-g2)
bb=b1+0.25*abs(b1-b2)
5. 图像的浮雕处理
算法:
位图图像的浮雕处理的算法是:
g(i,j)=f(i,j)-f(i-1,j)+常数
式中,g(i,j)为处理后图像的像素值,f(i,j)为原图像的像素值,f(i-1,j)为前一个相邻像素的值。常数一般取128,即
rr=r1-r2+128
gg=g1-g2+128
bb=b1-b2+128
式中,r1,g1,b1分别为原图像的像素f(i,j)的红、绿、蓝分量值;r2,g2,b2分别为前一个相邻像素f(i-1,j)的红、绿、蓝分量值,rr,gg,bb,分别为处理后图像的像素g(i,j)的红、绿、蓝分量值.
6.图像的镶嵌处理
镶嵌处理算法如下:
镶嵌处理后的图像每一小矩阵内的所有像素值都取此矩阵内原图像各像素值之和的平均值。例如,对于3*3的子域:
g(i,j)=(f(i,j)+f(i-1,j)+f(i+1,j)+f(i-1,j-1)+f(i+1,j-1)+f(i-1,j+1)+f(i,j+1)+f(i+1,j+1))/9
则取:
g(i-1,j)=g(i,j)
g(i+1,j)=g(i,j)
g(i,j-1)=g(i,j)
g(i,j+1)=g(i,j)
g(i,j+1)=g(i,j)
g(i-1,j-1)=g(i,j)
g(i-1,j+1)=g(i,j)
g(i+1,j-1)=g(i,j)
g(i+1,j+1)=g(i,j)
7.图像的灰度处理
彩色图像灰度处理的算法如下:
c=tuxing.GetPixel(i,j)
r=c.R
g=c.G
b=c.B
rr=g(r 64)*64
gg=(g 64)*64
bb=(b 64)*64
8.图像缩小处理
以坐标原点为中心,将图像个像素坐标的X分量和Y分量分别乘以Sx,Sy,则可使图像进行整体放大和缩小。这时,
X'=X*Sx
Y'=Y*Sy
当Sx=Sy时,作相似变换;
当Sx!=Sy时,产生变形。
9.图像的平移处理
图像的平移变换是将图形上的点(x,y)在x方向(水平方向)和y方向(垂直方向)
分别移动dx和dy,则变换后点(x',y')坐标值为:
x'=x+dx
y'=y+dy
10.图像的旋转变换
二维图像的旋转变换是以原点为中心,将点(x,y)旋转a角度而得到新的坐标(x',y')的变换称为旋转变换。其数学表达式为:
x'=x*cosa-y*sina
y'=x*sina+y*cosa
11.二维图像的对称变换
二维图像对称变换有以下几种情况.
1.以x轴为对称得对称变换。
以x轴为对称得点(x,y)的对称点(x',y')坐标为:
x'=x
y'=-y
2.以y轴为对称得对称变换。
以y轴为对称的点(x,y)的对称点(x',y')坐标为:
x'=-x
y'=y
3.以原点为对称的对称变换。
以原点为对称得点(x,y)的对称点(x',y')坐标为:
x'=-x
y'=-y
对图像的每一个像素依据二维图形几何变换公式进行计算后,在进行图像显示,则可得到图像的几何变换。
欢迎关注微信公众号——计算机视觉:
相关推荐
在本文中,我们将深入探讨基于C#的开源画图工具,该工具专为实现各种图像特效算法而设计。这个强大的工具集涵盖了边缘检测、锐化、模糊、图像融合、漩涡效果以及浮雕等三十多种图像处理技术。下面,我们将详细讲解...
本文将详细介绍几种常用的Android图片特效算法,包括灰度图、底片效果、浮雕效果、冰冻效果、雾化效果、积木效果、熔铸效果以及连环画效果。 #### 二、灰度图 **定义:** 灰度图是一种只有不同灰度层次的图像,...
本资源包"android常用图片处理特效源码"提供了一套适用于Android平台的图片特效处理方案,其中包括了高斯模糊的具体算法实现。这篇文章将深入探讨这个主题,并详细解释相关的知识点。 首先,我们来看"图片处理"这一...
在实际项目中,我们通常会先加载图像,然后根据需求选择合适的特效算法进行处理,最后将处理结果展示在屏幕上。例如,可以使用GDI+的`Graphics::DrawImage`函数来绘制处理后的图像到窗口。同时,为了提高用户体验,...
基于网格变形的图像变形算法是其中的一种常用技术,它通过改变图像像素在二维空间中的位置来实现图像的变形效果。在本项目中,这种算法被实现了C++语言,并且提供了一个名为"2dMorphing-master"的压缩包下载。 在...
本资源包"Android 常用图片特效处理源码"提供了一系列的代码示例,帮助开发者掌握并实现各种图片处理技术。以下是根据这些文件名和描述可以推测出的一些关键知识点: 1. **图片滤镜**: - 在Android中,图片滤镜...
这个"Android 常用图片特效处理源码"的压缩包提供了多种图像处理技术的实现,这对于开发者来说是一份宝贵的参考资料。下面我们将深入探讨其中可能包含的知识点。 1. **图片加载库**:Android平台上有许多流行的图片...
这个"android常用图片特效处理.zip"的压缩包包含了Android Studio项目实例,专注于如何在Android平台上实现各种图片特效。以下将详细解释其中可能涉及的知识点: 1. **图片加载库**:在Android应用中,图片的加载和...
这个名为"Android常用图片特效处理源码.zip"的压缩包文件,很可能包含了一系列用于实现Android平台上常见图片处理功能的源代码。这些特效可能包括图片的滤镜应用、旋转、裁剪、缩放、模糊化等。 首先,我们来讨论...
6. **锐化处理**:锐化处理是增强图像边缘和细节的过程,常用的有拉普拉斯算子和反卷积方法。在MFC中,可以对图像进行卷积操作,使用锐化滤波器(如差分算子)来提升图像的清晰度。 7. **特效处理**:特效处理包括...
这个名为"Android代码-常用图片特效处理源码.zip"的压缩包很可能包含了一系列用于实现图片特效的Java或Kotlin源代码。这些特效可能包括但不限于图片滤镜、旋转、缩放、裁剪、模糊等。以下是一些可能涵盖的知识点: ...
在数字媒体制作和视频编辑领域,图片转场特效是一种常用的技术,用于在多个图像或视频片段之间创造平滑、有视觉吸引力的过渡效果。在标题“图片转场特效”中,我们可以理解这是一个专注于图片间过渡效果的工具或教程...
这个名为"Android 常用图片特效处理源码.zip"的压缩包中,很可能包含了一系列用于处理Android图片效果的源代码示例。通过学习和理解这些源码,开发者可以掌握如何在Android应用中实现各种图像特效,比如滤镜、旋转、...
图像特效算法通常基于数字图像处理理论,如像素操作、颜色空间转换、滤波器应用等。例如,模糊效果可以通过高斯滤波实现,锐化可以通过拉普拉斯算子或中值滤波达成;色彩转换则涉及到RGB到HSV、YUV等颜色模型的变换...
### 人脸检测常用算法简介 #### 一、人脸检测概览 人脸检测是目标检测领域的一个重要分支,其任务在于定位图像中所有人类脸部的位置及其大小。与人脸定位不同,人脸定位通常假设已知人脸数量(通常是寻找单一目标)...
以上是"Android应用源码常用图片特效处理.zip"中可能涉及的一些关键技术点,这些源码示例可以帮助开发者更深入地理解和应用Android图像处理,提升应用的用户体验。通过学习和实践这些技术,开发者可以为自己的应用...