
Win8 Metro(C#) 数字图像处理
Trent1985
本人多年来专注图像特效、人像美颜美妆算法研究、AI美颜美妆探索,著有《图像视频滤镜与人像美颜美妆算法详解》一书,欢迎 志同道合的朋友们一起学习交流!
个人座右铭:谨言慎行,三思而后行!
展开
-
Win8 Metro(C#)数字图像处理--2.36角点检测算法
[函数名称]Harris角点检测函数 HarrisDetect(WriteableBitmap src, int CRF)[算法说明] 目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。基于灰度图像的角点检测又可分为基于梯度、基于模板和基于模板梯度组合3类方法,其中基于模板的方法主要考虑像素领域点的灰度变化,即图像亮原创 2015-04-13 11:04:31 · 1801 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.59 P分位法图像二值化
[函数名称] P分位法图像二值化[算法说明] 所谓P分位法图像分割,就是在知道图像中目标所占的比率Ratio时,循环不同的灰度值对图像进行分割,并计算对应的目标所占的比率,如果该比率与Ratio的差值足够小,那么该阈值就是所求的最佳分割阈值。 /// /// P-Parameter method of image segmen原创 2015-04-21 12:59:04 · 1791 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.56简单统计法图像二值化
[函数名称] 简单统计法图像二值化 WriteableBitmap StatisticalThSegment(WriteableBitmap src) /// /// Statistical method of image segmention. /// /// The source image.原创 2015-04-21 12:49:35 · 1363 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.57一维最大熵法图像二值化
[函数名称] 一维最大熵法图像二值化WriteableBitmap EntropymaxThSegment(WriteableBitmap src)[算法说明] 一维最大熵法图像分割就是利用图像的灰度分布密度函数定义图像的信息熵,通过优化一定的熵准则得到熵最大时对应的阈值,从而进行图像分割的方法。 算法过程: 1,对于一幅灰度图像,灰度范围为[0,L-1],原创 2015-04-21 12:53:33 · 2289 阅读 · 1 评论 -
Win8 Metro(C#)数字图像处理--2.58双峰法图像二值化
[函数名称] 双峰法图像二值化 WriteableBitmap PeakshistogramThSegment(WriteableBitmap src) /// /// Peaks histogram method of image segmention. /// /// The source image.原创 2015-04-21 12:56:07 · 2459 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.46图像RGB分量增强效果
[函数名称]RGB分量调整 RGBAdjustProcess(WriteableBitmap src, int value,int threshould)[算法说明] RGB分量调整实际上是分别对每个像素的RGB三个分量进行调整,公式如下:[函数代码] /// /// R,G,B value adjusting.原创 2015-04-17 13:26:41 · 1463 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.47人脸红眼去除算法
[函数名称] 红眼去除 RedeyeRemoveProcess(WriteableBitmap src) /// /// Redeye remove Process. /// /// The source image. /// public static Write原创 2015-04-17 13:29:54 · 2641 阅读 · 1 评论 -
Win8 Metro(C#)数字图像处理--2.50图像运动模糊
[函数名称] 图像运动模糊算法 MotionblurProcess(WriteableBitmap src,int k,int direction)[算法说明] 运动模糊是指在摄像机获取图像时,由于景物和相机之间的相对运动而造成的图像上的模糊。这里我们主要介绍匀速直线运动所造成的模糊,由于非匀速直线运动在某些条件下可以近似为匀速直线运动,或者可以分解为多个匀速原创 2015-04-17 13:39:19 · 2440 阅读 · 1 评论 -
Win8 Metro(C#)数字图像处理--2.48Canny边缘检测算法
[算法说明]Canny边缘检测算法可以分为4步:高斯滤波器平滑处理、梯度计算、非极大值抑制、双阈值边缘检测和边缘连接。 1,高斯滤波器平滑处理。由于图像中经常包含一些高斯噪声,因此在边缘检测前我们要先用高斯滤波器对其进行滤波,为了方便,通常是使用一些高斯模板,这里我们使用如下的高斯滤波器模板。 /// /// Canny edge原创 2015-04-17 13:31:42 · 2033 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.49Zhang二值图像细化算法
[函数名称] 二值图像细化算法 WriteableBitmap ThinningProcess(WriteableBitmap src)[算法说明] 图像细化(Image Thinning),一般指二值图像的骨架化(Image Skeletonization)的一种操作运算。所谓的细化就是经过一层层的剥离,从原来的图中去掉一些点,但仍要保持原来的形状,直到得到原创 2015-04-17 13:34:12 · 2519 阅读 · 1 评论 -
Win8 Metro(C#)数字图像处理--2.55OSTU法图像二值化
[函数名称] Ostu法图像二值化 WriteableBitmap OstuThSegment(WriteableBitmap src)[函数代码] /// /// Ostu method of image segmention. /// /// The source image.原创 2015-04-21 12:47:16 · 1592 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.42图像光照效果算法
[函数名称]图像光照效果 SunlightProcess(WriteableBitmap src,int X,int Y,float thresould)[算法说明] 图像光照效果就是在图像中添加上一个太阳光源,以此模仿光照条件。主要算法包括:1光源选择;2光照像素值求取。 1,光源选择。我们假设光源位置坐标为S(X,Y),其中光源坐标一定要保证在图像大小范围原创 2015-04-15 12:32:31 · 2020 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.45图像雾化效果算法
[函数名称] 图像雾化 AtomizationProcess(WriteableBitmap src,int v)[算法说明] /// /// Atomization process. /// /// The source image. /// The thr原创 2015-04-16 09:50:32 · 2764 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.38Hough变换直线检测
[函数名称]Hough 变换直线检测 HoughLineDetect(WriteableBitmap src, int threshould)[算法说明] Hough变换是数字图像处理中一种常用的几何形状识别方法,它可以识别直线,圆,椭圆,弧线等等几何形状,其基本原理是利用图像二维空间和Hough参数空间的点-线对偶性,把图像空间中的形状检测问题转换到原创 2015-04-13 13:04:58 · 2624 阅读 · 3 评论 -
Win8 Metro(C#)数字图像处理--2.39二值图像投影
[函数名称] 二值图像投影 ImageProjection(WriteableBitmap src)[算法说明][函数代码] /// /// Get projections of X and Y direction. /// /// The source image.原创 2015-04-14 12:34:30 · 1694 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.41彩色图像密度分割算法
[函数名称] 彩色图像密度分割函数 DensitySegmentProcess(WriteableBitmap src)[算法说明] 图像密度分割又叫做彩色等密度分割处理,一般图像(或影像)上色调的明暗是以附着在片基上的银粒子密度来计量的。因此,为了突出某一密度等级的色调(或相应地物),即将图像(或影像)的色调密度分划成若干个等级,并用不同的颜色分别表示这不同的密原创 2015-04-14 12:41:23 · 2448 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.54迭代法图像二值化
[函数名称] 迭代法图像二值化 int IterativeThSegment(WriteableBitmap src)[函数代码] /// /// Iterative method of image segmention. /// /// The source image. //原创 2015-04-20 12:59:41 · 1841 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.53图像傅立叶变换
[函数名称]1,一维FFT变换函数 Complex[] FFT(Complex[] sourceData, int countN) 2,二维FFT变换函数 Complex[] FFT2(byte[] imageData,bool inv) 3,图像傅立叶变换幅度函数 WriteableBitmap FFTImage() 4,原创 2015-04-20 12:54:05 · 1690 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.40二值图像轮廓提取算法
[函数名称] 二值图像轮廓提取 ContourExtraction(WriteableBitmap src) [算法说明] 二值图像的轮廓提取对于图像识别,图像分割有着重要意义。该算法的核心就是将图像目标的内部点消除。所谓内部点,我们要根据当前像素点的邻域来进行判断,假设邻域窗口为3*3窗口,如果当前像素P(x,y)的八个邻域像素满足如下条件,则该点即内部点原创 2015-04-14 12:38:49 · 2992 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.43图像马赛克效果算法
[函数名称] 图像马赛克效果 MosaicProcess(WriteableBitmap src, int v)[算法说明] 图像马赛克效果其实就是将图像分成大小一致的图像块,每一个图像块都是一个正方形,并且在这个正方形中所有像素值都相等。我们可以将这个正方形看作是一个模板窗口,模板中对应的所有图像像素值都等于该模板的左上角第一个像素的像素值,这样的效果就是马原创 2015-04-15 12:34:15 · 2824 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.44图像油画效果算法
[函数名称] 图像油画效果 OilpaintingProcess(WriteableBitmap src)[算法说明] 图像油画效果可以看作是轻度的雾化,因此我们只需将雾化的阈值设置为2即可,雾化效果在下一小节有详细介绍。[函数代码] /// /// Oil painting process.原创 2015-04-16 09:45:38 · 2658 阅读 · 1 评论 -
Win8 Metro(C#)数字图像处理--2.67图像最大值滤波器
[函数名称] 最大值滤波器WriteableBitmap MaxFilterProcess(WriteableBitmap src)[算法说明] 最大值滤波属于非线性滤波方法,它是一种基于排序统计理论的可有效抑制噪声的非线性平滑滤波器,基本原理是把数字图像或数字序列中一点的值用该点的一个临域中各点值的最大值替换。[函数代码]原创 2015-04-26 13:16:26 · 2074 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.70修正后的阿尔法滤波器
/// /// Alpha filter. /// /// The source image. /// One parameter set from 0 to 9. /// public static WriteableBitmap AlphaFilterProcess(WriteableBitm原创 2015-04-27 12:04:40 · 2614 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.66FloodFill算法
[函数名称] 洪水填充算法函数WriteableBitmap FloodfillProcess(WriteableBitmap src,Point location, Color fillColor, int threshold)2,以这个点为起点,将它压入栈中,假设我们要填充的颜色为A,则将该点颜色设置为A,然后判断它的四邻域像素,这里我们设置一个颜色阈值T,假设当原创 2015-04-25 08:55:17 · 3783 阅读 · 0 评论 -
Win8 Metro(C#) 数字图像处理--1 图像打开,保存
一,图像打开,保存操作 Win8Metro编程中,图像相关的操作基本都是以流的形式进行的,图像对象类型在Metro主要表现为两种形式:BitmapImage和WriteableBitmap,图像的显示控件为Image。 我们可以用如下方式打开和显示一幅图像对象。BitmapImage srcImage=newBitmapImage (new Uri(“UriPath”), Ur原创 2012-07-10 10:53:14 · 5700 阅读 · 4 评论 -
Win8 Metro(C#)数字图像处理--3.5图像形心计算
/// /// Get the center of the object in an image. /// /// The source image. /// public static int[] CenterPoints(WriteableBitmap src) { i原创 2015-04-29 11:53:48 · 2178 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.65形态学轮廓提取算法
[函数名称] 形态学轮廓提取函数 WriteableBitmap MorcontourextractionProcess(WriteableBitmap src) /// /// Morgraphy contour extraction process. /// /// The source ima原创 2015-04-25 08:52:18 · 2840 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.62图像对数增强
[函数名称] 对数增强 WriteableBitmap LogenhanceProcess(WriteableBitmap src) /// /// Logarithm enhancement process. /// /// The source image. ///原创 2015-04-24 12:42:59 · 1905 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.63图像指数增强
[函数名称] 指数增强 WriteableBitmap IndexenhanceProcess(WriteableBitmap src)[函数代码] /// /// Enhanced index process. /// /// The source image.原创 2015-04-24 12:45:51 · 1782 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--3.4图像信息熵计算
[函数代码] /// /// Entropy of one image. /// /// The source image. /// public static double GetEntropy(WriteableBitmap src) { double原创 2015-04-29 11:51:02 · 2690 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.72图像噪声
[函数名称] 噪声函数WriteableBitmap NoiseProcess(WriteableBitmap src, byte flagNoise, double meanValue, double varianceValue) /// /// Noise process. /// /// The原创 2015-04-27 16:35:54 · 2164 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.69中点滤波器
[函数代码] /// /// Mid-point filter. /// /// The source image. /// public static WriteableBitmap MidPointFilterProcess(WriteableBitmap src)/原创 2015-04-27 12:02:48 · 3371 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.71Sigma平滑滤波器
[算法说明] Sigma平滑滤波器是构造一个模板,比如3*3大小的模板,计算这个模板对应的像素的标准差d,然后根据统计学原理,得到一个置信区间v,假设3*3模板中心像素为p,则v大小范围为[p-d,p+d]。我们判断3*3模板中对应像素是否落在置信区间v内,对于在v内的像素,我们求取他们的均值,然后,当前模板对应的中心像素的滤波值就等于这个均值。图像表示如下:原创 2015-04-27 16:31:27 · 3759 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.73一种背景图像融合特效
/// /// Image merge process. /// /// The background image. /// The source image. /// One parameter, from 0 to 1. /// public static WriteableB原创 2015-04-27 16:38:01 · 2156 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.68图像最小值滤波器
/// /// Min value filter. /// /// The source image. /// public static WriteableBitmap MinFilterProcess(WriteableBitmap src)////最小值滤波器 { i原创 2015-04-27 12:00:36 · 1867 阅读 · 1 评论 -
ZPhotoEngine库推荐
今天,偶然的机会发现了一个很好用的图像算法库ZPhotoEngine,里面的算法大部分都是实现Photoshop的,试了下,效果跟PS几乎一模一样,还有一些Camera360,美图里的算法:色温调节,高光阴影调节,曝光调节等等,感觉很不错,在这里给大家推荐一下,喜欢PS的可以试试,整个库是C写的,使用C#调用,而且有详细的使用DEMO,真不错!以后搞图像特效,滤镜什么的,可以先用Photo...原创 2015-08-09 16:13:28 · 3442 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--2.75灰度图像的形态学算法
前面章节中介绍了二值图像的形态学算法,这里讲一下灰度图的形态学算法,主要是公式,代码略。1,膨胀算法2,腐蚀算法3,开运算开运算:先进行一次腐蚀运算,接着进行一次膨胀运算。4,闭运算闭运算即:先进行一次膨胀运算,接着进行一次腐蚀运算。以上就是灰度图像的形态学算法。原创 2015-05-09 14:30:11 · 2381 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--3.1图像均值计算
/// /// Mean value computing. /// /// The source image. /// public static double GetMeanProcess(WriteableBitmap src) ////32 图像均值计算 { if (原创 2015-04-28 12:39:49 · 1969 阅读 · 0 评论 -
Win8 Metro(C#)数字图像处理--3.3图像直方图计算
/// /// Get the array of histrgram. /// /// The source image. /// public static int[] GetHistogramArray(WriteableBitmap src) ////34 图像直方图计算 {原创 2015-04-29 11:49:41 · 1791 阅读 · 1 评论 -
Win8 Metro(C#)数字图像处理--3.2图像方差计算
/// /// /// Variance computing. /// The source image. /// public static double GetVarianceProcess(WriteableBitmap src) ////33 图像方差计算 { if原创 2015-04-28 12:42:22 · 2211 阅读 · 0 评论