高斯模糊

Web前端之高斯模糊图片记

故事扮演 提交于 2020-02-27 04:58:11
题记 前端需求之高斯模糊图片 最近工作中有一个需求,客户提交图片,服务器根据图片生成内容,并将内容显示,要求高斯模糊处理用户的图片并作为作品展示的背景,类似于苹果设备上的高斯模糊背景。用户提交的图片分网络图片地址、终端设备上传两种。要求兼容各大浏览器。 解决方案一:CSS3滤镜 在CSS3 中规定了一个新的图形特效:filter ,可以对元素进行模糊、锐化或者元素变色。 filter 目的是用来调整图片、背景和边界的渲染。 在CSS3 中已经实现了filter 的一些预定义函数,MDN 中介绍如下: filter: url("filters.svg#filter-id"); filter: blur(5px); filter: brightness(0.4); filter: contrast(200%); filter: drop-shadow(16px 16px 20px blue); filter: grayscale(50%); filter: hue-rotate(90deg); filter: invert(75%); filter: opacity(25%); filter: saturate(30%); filter: sepia(60%); /* Apply multiple filters */ filter: contrast(175%) brightness

Android设置高斯模糊

我与影子孤独终老i 提交于 2020-02-26 15:51:49
分享自己写的一个高斯模糊的工具类,可以根据Bitmap,Imageviw,Drawable或者资源文件设置 public class BlurImageView { /** 水平方向模糊度 */ public static float HRADIUS = 5; /** 竖直方向模糊度 */ public static float VRADIUS = 5; /** 模糊迭代度 */ public static int ITERATIONS = 5; /** * 根据bitmap设置高斯模糊 * @param bmp:bitmap参数 * @return */ public static Drawable BoxBlurFilter(Bitmap bmp) { int width = bmp.getWidth(); int height = bmp.getHeight(); int[] inPixels = new int[width * height]; int[] outPixels = new int[width * height]; Bitmap bitmap = Bitmap.createBitmap(width, height,Bitmap.Config.ARGB_8888); bmp.getPixels(inPixels, 0, width, 0, 0, width,

python 简单图片处理

夙愿已清 提交于 2020-02-23 14:37:08
安装: python 2.7 pythoncharm anaconda2 课本中要求装PIL库,但是我操作了很多方法也没有装成功,一直提示我缺少安装工具tools,所以我询问助教后他帮我安装了anaconda2。 一.基本的图像操作和处理 原图片: 1.原图—灰度图 在教材的代码中修改图片路径 2.图像轮廓和直方图 图像轮廓线和图线等高线。在画图像轮廓前需要转换为灰度图像,因为轮廓需要获取每个坐标[x,y]位置的像素值。 3.借助numpy对图像进行灰度变换 在前面载入图像中,我们将图像用array()函数转为NumPy数组对象。数组就像列表一样,只不过它规定了数组中的所有元素必须是相同的类型。下面的例子用于说明图像数组表示,运行下面面代码,会给出下面结果: 4.灰度变换 在读入图像到NumPy数组后,就可以对它进行任何我们想要的操作:对图像进行灰度变换。 上面左边灰度变换函数采用的是f(x)=255-x,中间采用的是f(x)=(100/255)x+100,右边采用的是变换函数是f(x)=255(x/255)^2。运行上面代码,可以得到P009 Fig1-5中的结果: 5.调整图像尺寸 NumPy数组将成为我们对图像及数据进行处理的最主要工具,但是调整矩阵大小并没有一种简单的方法。我们可以用PIL图像对象转换写一个简单的图像尺寸调整函数: 上面定义的调整函数,在imtools

Android 高斯模糊上一界面

可紊 提交于 2020-02-21 06:48:42
效果如图,解决intent传递信息过大问题: !!! FAILED BINDER TRANSACTION !!! (parcel size = ***) 高斯模糊引用:https://blog.csdn.net/blank__box/article/details/80099359 Intent intent = new Intent ( ) ; intent . setClass ( getActivity ( ) , FastBlurActivity . class ) ; View view = getActivity ( ) . getWindow ( ) . getDecorView ( ) ; Bitmap bmp1 ; view . destroyDrawingCache ( ) ; view . setDrawingCacheEnabled ( true ) ; //防止为空 bmp1 = view . getDrawingCache ( ) ; save ( bmp1 ) ; //存储图像 startActivity ( intent ) ; public void save ( Bitmap bmp1 ) { String FILENAME = "Bitm.png" ; FileOutputStream fos = null ; try { fos =

sift算法原理解析

感情迁移 提交于 2020-01-28 21:41:22
尺度不变特征变换匹配算法详解 Scale Invariant Feature Transform(SIFT) Just For Fun 转自: http://blog.csdn.net/zddblog/article/details/7521424 对于初学者,从 David G.Lowe 的论文到实现,有许多鸿沟,本文帮你跨越。 1 、 SIFT 综述 尺度不变特征转换 (Scale-invariant feature transform 或 SIFT) 是一种电脑视觉的算法用来侦测与描述影像中的局部性特征,它在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量,此算法由 David Lowe 在 1999 年所发表, 2004 年完善总结。 其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、 3D 模型建立、手势辨识、影像追踪和动作比对。 此算法有其专利,专利拥有者为英属哥伦比亚大学。 局部影像特征的描述与侦测可以帮助辨识物体, SIFT 特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用 SIFT 特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要 3 个以上的 SIFT 物体特征就足以计算出位置与方位

[OpenCV学习日记-java]-05-模糊

十年热恋 提交于 2020-01-25 04:53:01
模糊 模糊主要应用就是降低噪声 模糊属于 线性滤波 例如颜色识别,如果不进行模糊操作,可能会误差很大 均值模糊 blur ( Mat src , Mat dst , Size ksize ) blur ( Mat src , Mat dst , Size ksize , Point anchor ) blur ( Mat src , Mat dst , Size ksize , Point anchor , int borderType ) src:表示输入图像 dst:输出图像 ksize:卷积核大小 anchor 卷积核中心位置 borderType:填充边缘类型 如果想要水平方向模糊或者垂直方向模糊,那么只需要把size对应的参数改成1 ksize = new Size ( 9 , 1 ) //水平方向模糊 ksize = new Size ( 1 , 9 ) //垂直方向模糊 专业术语也就这样,看不懂不要慌,会用就行… 下面插一张图 和 一段代码 你可以点击图片放大查看这三种模糊的区别 下面是代码 Mat m1 = Imgcodecs . imread ( "C:\\test\\256_256_t1.png" ) ; HighGui . imshow ( "原图" , m1 ) ; Mat s1 = new Mat ( ) ; Imgproc . blur ( m1 ,

opencv-python图像处理

会有一股神秘感。 提交于 2020-01-20 16:44:52
opencv-python图像处理(六) 图像的平滑 cv2.blur() 平均模糊,用卷积框内像素的平均值代替卷积框内像素的值 cv2.GaussianBlur() 高斯模糊,常用于去除高斯噪声,中心点邻近区域像素的高斯加权平均值 cv2.medianBlur() 中值模糊,常用于去除椒盐噪声,用卷积框的中值代替中心像素的值 cv2.bilateralFilter() 双边滤波,边界不会被模糊 import cv2 import matplotlib . pyplot as plt import matplotlib matplotlib . rcParams [ 'font.family' ] = 'SimHei' # 可以显示汉字 img = cv2 . imread ( 'aaa.jpg' , 0 ) blur = cv2 . blur ( img , ( 3 , 3 ) ) # (3,3)为卷积核 gauss = cv2 . GaussianBlur ( img , ( 3 , 3 ) , 0 ) # 高斯模糊 median = cv2 . medianBlur ( img , 3 ) # 中值模糊 bilateral = cv2 . bilateralFilter ( img , 9 , 75 , 75 ) # 9 邻域直径,两个 75 分别是空间高斯函数标准差

ffmpeg实现视频高斯模糊拓边效果

穿精又带淫゛_ 提交于 2020-01-17 18:56:33
ffmpeg实现视频高斯模糊的效果 实现过程,把片源做为2个输入源处理,底层视频用ffmpeg的模糊滤镜boxblur处理出一个有模糊效果的底层,再把上层视频overlay到上层叠加,效果就出来了。 实现 ffmpeg -i input.mp4 -vf “split[a][b];[a]scale=1080:1920,boxblur=10:5[1];[b]scale=1080:ih*1080/iw[2];[1][2]overlay=0:(H-h)/2” -c:v libx264 -crf 18 -preset veryfast -aspect 9:16 -f mp4 output.mp4 -y ffmpeg -i input.mp4 -vf "split[a][b];[a]scale=1080:1920,boxblur=10:5[1];[b]scale=1080:ih*1080/iw[2];[1][2]overlay=0:(H-h)/2" -c:v libx264 -crf 18 -preset veryfast -aspect 9:16 -f mp4 output.mp4 -y 效果 来源: CSDN 作者: Ternence_Hsu 链接: https://blog.csdn.net/ternence_hsu/article/details/104020716

Android 获取 View 的高斯模糊 Drawable

a 夏天 提交于 2019-12-20 13:16:20
Android 获取 View 的高斯模糊 Drawable 使用谷歌接口,不兼容 17 以下,需要兼容需处理 object RenderScriptUtil { const val RADIUS = 25F //高斯模糊程度 0~25 /** * 获取 View 的高斯模糊 BitmapDrawable */ fun gaussianBlur(v: View): BitmapDrawable { val renderScript = RenderScript.create(v.context) v.setDrawingCacheEnabled(true) val origin = v.getDrawingCache() val input = Allocation.createFromBitmap(renderScript, origin) val output = Allocation.createTyped(renderScript, input.type) val scriptIntrinsicBlur = ScriptIntrinsicBlur.create(renderScript, Element.U8_4(renderScript)) scriptIntrinsicBlur.setRadius(RADIUS) scriptIntrinsicBlur.setInput

小程序实现全屏幕高斯模糊背景图

一曲冷凌霜 提交于 2019-12-16 21:37:04
我们在做小程序开发过程中,有时候会遇到这样的需求,用一张图片做全屏幕背景图。 并且实现毛玻璃效果(高斯模糊),今天就来带大家一步步的实现这个效果 老规矩,先看效果图 1,用网络图片实现 2,用本地图片实现 通过上面两张图可以看出来,我们既可以用网络图片来实现高斯模糊,有可以用本地图片来实现。 一,先来用本地图片做全屏背景 1,先在wxml文件里引入本地图片 2,然后设置wxss样式 通过下图几段样式代码,就可以轻松实现全屏背景 这个图片大家应该熟悉吧,这是石头哥的头像。原本是哥正方形,我们要想实现全屏背景,就要用到下面这几行代码了。 .gaoshi-bendi { /* 这一步设置是关键设置 */ position: absolute; width: 100%; height: 100%; top: 0; bottom: 0; left: 0; right: 0; } 这样我们就实现了全屏背景(图片背景)了,接下来我们来做模糊效果 二,实现模糊效果 这里主要用到了 CSS3的 filter(滤镜) 属性 通过上面这张图和下面这张图对比,可以看到filter的值越大越模糊。 这样我们就轻松的实现了本地图片的高斯模糊效果。 但是有时候我们不仅仅是用到本地图片,我们还需要用到网络图片。那这时候该怎么办呢? 三,网络图片实现高斯模糊效果 1,不管是本地图片还是网络图片