课题:前端图像羽化(不规则区域羽化,feather)

下午搜索了一堆相关文章,没有找到符合要求的。

对一张图片应用不规则区域的羽化,该怎么做呢?

首先去查了下 羽化的原理,然而没有什么用,

然后就开始从表现层去研究怎么模拟?

idea 1:

blur滤镜,可以实现边缘“羽化”,但是呢 整个图片都会被模糊。那么可不可以 blur滤镜 后 将它的边缘拿出来给原始图片使用呢?(多层图片叠)。

在PS里模拟操作后,程序难度较大。

1:应用blur的层,需要比目标区域大一些,(牵扯程序对点阵外扩的算法)

2:blur层和显示层,边缘结合依然会有“硬边”的问题。

实际出来效果并不好,

idea 2:

将目标啊区域的图截取出来,检测透明点和透明点距离越近的点 改变其透明度越高。

例如目标图

step1:被遮罩成 如下区域

step2:获得最小矩形区域

step3:检测不透明点与透明点的坐标差绝对值,差越小说明 不透明点距离透明点越近,那么我们让这些点变得更透明

如上 :红色是透明点(没有内容),那么凡是离这种点越近的(青色的点) 我们让他的透明度变高。

距离差超过多少像素的点就不在改变其透明度(这也就是羽化程度)

以上,理论上可以操作。具体效果需要进一步实验,(今天先到这里。)

原文地址:https://www.cnblogs.com/luoeeyang/p/9337871.html

时间: 2025-01-17 16:15:14

课题:前端图像羽化(不规则区域羽化,feather)的相关文章

Halcon学习之六:获取Image图像中Region区域的特征参数

area_center_gray ( Regions, Image : : : Area, Row, Column )    计算Image图像中Region区域的面积Area和重心(Row,Column). cooc_feature_image ( Regions, Image : : LdGray, Direction : Energy,Correlation, Homogeneity, Contrast )   计算共生矩阵和推导出灰度特征值 Direction:灰度共生矩阵计算的方向  

ExtFloodFill 可以填充不规则区域

ExtFloodFill function The ExtFloodFill function fills an area of the display surface with the current brush. Syntax C++ BOOL ExtFloodFill( _In_  HDC hdc, _In_  int nXStart, _In_  int nYStart, _In_  COLORREF crColor, _In_  UINT fuFillType ); Parameter

计算两幅图像的重叠区域

http://www.cnblogs.com/dwdxdy/p/3232331.html 随笔- 87  文章- 0  评论- 81 [OpenCV学习]计算两幅图像的重叠区域 问题描述:已知两幅图像Image1和Image2,计算出两幅图像的重叠区域,并在Image1和Image2标识出重叠区域. 算法思想: 若两幅图像存在重叠区域,则进行图像匹配后,会得到一张完整的全景图,因而可以转换成图像匹配问题. 图像匹配问题,可以融合两幅图像,得到全景图,但无法标识出在原图像的重叠区域. 将两幅图像都

【OpenCV学习】计算两幅图像的重叠区域

问题描述:已知两幅图像Image1和Image2,计算出两幅图像的重叠区域,并在Image1和Image2标识出重叠区域. 算法思想: 若两幅图像存在重叠区域,则进行图像匹配后,会得到一张完整的全景图,因而可以转换成图像匹配问题. 图像匹配问题,可以融合两幅图像,得到全景图,但无法标识出在原图像的重叠区域. 将两幅图像都理解为多边形,则其重叠区域的计算,相当于求多边形的交集. 通过多边形求交,获取重叠区域的点集,然后利用单应矩阵还原在原始图像的点集信息,从而标识出重叠区域. 算法步骤: 1.图像

ios的hitTest方法以及不规则区域内触摸事件处理方法

ios的hitTest方法以及不规则区域内触摸事件处理方法 概述 在正常的使用场景中,我们处理了比较多的矩形区域内触摸事件,比如UIButton.UIControl.一般来说,这些控件的图形以及触摸区域都是矩形或者圆角矩形的.但是在一些特殊应用场景中我们有时不得不面对这样一种比较严苛的需求,比如要求程序只对某个圆形.五角形等非常规区域的点击事件进行处理,这就需要花点功夫了.本文以圆形为例子来介绍此类场景的处理方法. 先看下面一张图(附图1),我们的目标是实现如下自定义tabbar.中间带突起圆形

利用Mask将不规则区域保存下来 算法实现

利用Mask将不规则区域保存下来 Point2f pt1, pt2, pt3, pt4; pt1.x = 17; pt1.y = 75; pt2.x = 374; pt2.y = 48; pt3.x = 44; pt3.y = 249; pt4.x = 394; pt4.y = 234; line(img, pt1, pt2, Scalar(0,0,255),1); line(img, pt1, pt3, Scalar(0,0,255),1); line(img, pt2, pt4, Scala

解决OSPF不规则区域几个方法

因为刚学OSPF路由协议,下面只是个人实验结果,可能也有不准确的地方,请批评指正,谢谢 解决OSPF不规则区域 1.多进程双向重分布 2.Tunnel隧道 3.virtual-link 1.多进程双向重分布: 拓扑: 在R3上有两个OSPF进程,当R3双向多进程重分布时,可以看到两边的路由都能学到 关键配置: [R1]dis cur # sysname R1 # router id 91.1.1.1 # interface Serial0/0/0 link-protocol ppp ip add

毕业课题之------------图像的直线提取--hough变换

图像处理程序中经常要用到直线检测,常用的直线检测方法是Hough变换.Hough变换是图像处理中从图像中识别几何形状的基本方法之一.Hough变换的基本原理在于 利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点.这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问 题.也即把检测整体特性转化为检测局部特性.比如直线.椭圆.圆.弧线等. 简而言之,Hough变换思想为:在原始图像坐标系下的一个点对应了参数坐标系中的一条直线,同样参数坐标系的一条直线对应

OS: 剪裁UIImage部分不规则区域

首先,我们需要把图片展示在界面上.很简单的操作,唯一需要注意的是由于CGContextDrawImage会使用Quartz内以左下角为(0,0)点的坐标系,所以需要使用CGContextTranslateCTM函数和CGContextScaleCTM函数把以左下角为0点的坐标系转化成左上角形式的坐标系. ViewController中的代码: //ViewController中的viewDidLoad方法- (void)viewDidLoad { //从Bundle中读取图片 UIImage *