IOS OpenGL ES GPUImage 图像 XYDerivative 边缘检测 GPUImageXYDerivativeFilter

目录

  • 一.简介
  • 二.效果演示
  • 三.源码下载
  • 四.猜你喜欢

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 特效

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 函数

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES GPUImage 使用

零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES GLSL 编程

一.简介

GPUImage 共 125 个滤镜, 分为四类

1、Color adjustments : 31 filters , 颜色处理相关
2、Image processing : 40 filters , 图像处理相关.
3、Blending modes : 29 filters , 混合模式相关.
4、Visual effects : 25 filters , 视觉效果相关.

GPUImageXYDerivativeFilter 属于 GPUImage 图像视觉效果相关,用于图像 XYDerivative 边缘检测。shader 源码如下:

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:IOS – OpenGL ES GPUImage GPUImageXYDerivativeFilter
//@Time:2022/07/02 06:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE
NSString *const kGPUImageGradientFragmentShaderString = SHADER_STRING
(precision highp float;varying vec2 textureCoordinate;varying vec2 leftTextureCoordinate;varying vec2 rightTextureCoordinate;varying vec2 topTextureCoordinate;varying vec2 topLeftTextureCoordinate;varying vec2 topRightTextureCoordinate;varying vec2 bottomTextureCoordinate;varying vec2 bottomLeftTextureCoordinate;varying vec2 bottomRightTextureCoordinate;uniform sampler2D inputImageTexture;uniform float edgeStrength;void main(){float topIntensity = texture2D(inputImageTexture, topTextureCoordinate).r;float topRightIntensity = texture2D(inputImageTexture, topRightTextureCoordinate).r;float topLeftIntensity = texture2D(inputImageTexture, topLeftTextureCoordinate).r;float bottomIntensity = texture2D(inputImageTexture, bottomTextureCoordinate).r;float bottomLeftIntensity = texture2D(inputImageTexture, bottomLeftTextureCoordinate).r;float bottomRightIntensity = texture2D(inputImageTexture, bottomRightTextureCoordinate).r;float leftIntensity = texture2D(inputImageTexture, leftTextureCoordinate).r;float rightIntensity = texture2D(inputImageTexture, rightTextureCoordinate).r;float verticalDerivative = -topLeftIntensity - topIntensity - topRightIntensity + bottomLeftIntensity + bottomIntensity + bottomRightIntensity;float horizontalDerivative = -bottomLeftIntensity - leftIntensity - topLeftIntensity + bottomRightIntensity + rightIntensity + topRightIntensity;verticalDerivative = verticalDerivative * edgeStrength;horizontalDerivative = horizontalDerivative * edgeStrength;// Scaling the X * Y operation so that negative numbers are not clipped in the 0..1 range. This will be expanded in the corner detection filtergl_FragColor = vec4(horizontalDerivative * horizontalDerivative, verticalDerivative * verticalDerivative, ((verticalDerivative * horizontalDerivative) + 1.0) / 2.0, 1.0);}
);
#else
NSString *const kGPUImageGradientFragmentShaderString = SHADER_STRING
(varying vec2 textureCoordinate;varying vec2 leftTextureCoordinate;varying vec2 rightTextureCoordinate;varying vec2 topTextureCoordinate;varying vec2 topLeftTextureCoordinate;varying vec2 topRightTextureCoordinate;varying vec2 bottomTextureCoordinate;varying vec2 bottomLeftTextureCoordinate;varying vec2 bottomRightTextureCoordinate;uniform sampler2D inputImageTexture;uniform float edgeStrength;void main(){float topIntensity = texture2D(inputImageTexture, topTextureCoordinate).r;float topRightIntensity = texture2D(inputImageTexture, topRightTextureCoordinate).r;float topLeftIntensity = texture2D(inputImageTexture, topLeftTextureCoordinate).r;float bottomIntensity = texture2D(inputImageTexture, bottomTextureCoordinate).r;float bottomLeftIntensity = texture2D(inputImageTexture, bottomLeftTextureCoordinate).r;float bottomRightIntensity = texture2D(inputImageTexture, bottomRightTextureCoordinate).r;float leftIntensity = texture2D(inputImageTexture, leftTextureCoordinate).r;float rightIntensity = texture2D(inputImageTexture, rightTextureCoordinate).r;float verticalDerivative = -topLeftIntensity - topIntensity - topRightIntensity + bottomLeftIntensity + bottomIntensity + bottomRightIntensity;float horizontalDerivative = -bottomLeftIntensity - leftIntensity - topLeftIntensity + bottomRightIntensity + rightIntensity + topRightIntensity;verticalDerivative = verticalDerivative * edgeStrength;horizontalDerivative = horizontalDerivative * edgeStrength;// Scaling the X * Y operation so that negative numbers are not clipped in the 0..1 range. This will be expanded in the corner detection filtergl_FragColor = vec4(horizontalDerivative * horizontalDerivative, verticalDerivative * verticalDerivative, ((verticalDerivative * horizontalDerivative) + 1.0) / 2.0, 1.0);}
);
#endif

二.效果演示

使用 GPUImageXYDerivativeFilter****,****原图如下:

使用 GPUImageXYDerivativeFilter 效果如下:

三.源码下载

OpenGL ES Demo 下载地址 : IOS OpenGL ES GPUImage 图像 XYDerivative 边缘检测 GPUImageXYDerivativeFilter

四.猜你喜欢

  1. IOS OPenGL ES 设置图像亮度 GPUImageBrightnessFilter
  2. IOS OPenGL ES 调节图像曝光度 GPUImageExposureFilter
  3. IOS OpenGL ES 调节图像对比度 GPUImageContrastFilter
  4. IOS OPenGL ES 调节图像饱和度 GPUImageSaturationFilter
  5. IOS OPenGL ES 调节图像伽马线 GPUImageGammaFilter
  6. IOS OpenGL ES 调节图像反色 GPUImageColorInvertFilter
  7. IOS OpenGL ES 调节图像褐色 GPUImageSepiaFilter
  8. IOS OpenGL ES 调节图像灰色 GPUImageGrayscaleFilter
  9. IOS OpenGL ES 调节图像 RGB 通道 GPUImageRGBFilter
  10. IOS OpenGL ES 调节图像不透明度 GPUImageOpacityFilter
  11. IOS OpenGL ES 调节图像阴影 GPUImageHighlightShadowFilter
  12. IOS OpenGL ES 调节图像色彩替换 GPUImageFalseColorFilter
  13. GPUImage – 色彩直方图 GPUImageHistogramFilter
  14. GPUImage – 色彩直方图 GPUImageHistogramGenerator
  15. GPUImage – 像素平均色值 GPUImageAverageColor
  16. GPUImage – 亮度平均 GPUImageLuminosity
  17. IOS OpenGL ES 调节图像色度 GPUImageHueFilter
  18. IOS OpenGL ES 指定颜色抠图 GPUImageChromaKeyFilter
  19. IOS OpenGL ES 调节图像白平衡/色温 GPUImageWhiteBalanceFilter
  20. IOS OpenGL ES 设置图像 lookup 滤镜 GPUImageLookupFilter
  21. IOS OpenGL ES 设置图像滤镜 GPUImageAmatorkaFilter
  22. IOS OpenGL ES 设置图像滤镜 GPUImageSoftEleganceFilter
  23. IOS OpenGL ES 设置图像锐化 GPUImageSharpenFilter
  24. IOS OpenGL ES 绘制十字 GPUImageCrosshairGenerator
  25. IOS OpenGL ES 绘制线条 GPUImageLineGenerator
  26. IOS OpenGL ES 设置图像黑白燥点 GPUImageLocalBinaryPatternFilter
  27. IOS OpenGL ES 设置图像卡通效果(黑色粗线描边) GPUImageToonFilter
  28. IOS OpenGL ES 桑原滤波/水粉画模糊效果 GPUImageKuwaharaFilter
  29. IOS OpenGL ES 黑白马赛克效果 GPUImageMosaicFilter
  30. IOS OpenGL ES 像素化马赛克效果 GPUImagePixellateFilter
  31. IOS OpenGL ES 同心圆像素化马赛克效果 GPUImagePolarPixel
  32. IOS OpenGL ES 黑白网状效果 GPUImageCrosshatchFilter
  33. IOS OpenGL ES 色彩丢失/模糊效果 GPUImageColorPackingFilter
  34. IOS OpenGL ES 图像晕影 GPUImageVignetteFilter
  35. IOS OpenGL ES 图像漩涡 GPUImageSwirlFilter
  36. IOS OpenGL ES 图像鱼眼扩散效果 GPUImageBulgeDistortionFilter
  37. IOS OpenGL ES 图像鱼眼移动效果 GPUImageBulgeDistortionFilter
  38. IOS OpenGL ES 图像凹面镜移动效果 GPUImagePinchDistortionFilter
  39. IOS OpenGL ES 图像凹面镜放大效果 GPUImagePinchDistortionFilter
  40. IOS OpenGL ES 图像哈哈镜效果 GPUImageStretchDistortionFilter
  41. IOS OpenGL ES 图像水晶球效果 GPUImageGlassSphereFilter
  42. IOS OpenGL ES 图像球形折射 GPUImageSphereRefractionFilter
  43. IOS OpenGL ES 图像色调分离噪点效果 GPUImagePosterizeFilter
  44. IOS OpenGL ES 图像 CGA 色彩滤镜 GPUImageCGAColorspaceFilter
  45. IOS OpenGL ES 图像柏林噪点/花边噪点 GPUImagePerlinNoiseFilter
  46. IOS OpenGL ES 图像加亮边缘 GPUImage3x3ConvolutionFilter
  47. IOS OpenGL ES 图像浮雕 3d 效果 GPUImageEmbossFilter
  48. IOS OpenGL ES 图像马赛克圆点 GPUImagePolkaDotFilter
  49. IOS OpenGL ES 图像侵蚀边缘黑白模糊 GPUImageErosionFilter
  50. IOS OpenGL ES 图像侵蚀边缘色彩模糊 GPUImageRGBErosionFilter
  51. IOS OpenGL ES 图像扩展边缘黑白模糊 GPUImageDilationFilter
  52. IOS OpenGL ES 图像扩展边缘彩色模糊 GPUImageRGBDilationFilter
  53. IOS OpenGL ES GPUImage 黑白色调模糊 GPUImageOpeningFilter
  54. IOS OpenGL ES GPUImage 彩色模糊 GPUImageRGBOpeningFilter
  55. IOS OpenGL ES GPUImage 图像黑白色调模糊/暗色提亮 GPUImageClosingFilter
  56. IOS OpenGL ES GPUImage 图像彩色调模糊/暗色提亮 GPUImageRGBClosingFilter
  57. IOS OpenGL ES GPUImage 图像 Lanczos 重取样模糊效果 GPUImageLanczosResamplingFilter
  58. IOS OpenGL ES GPUImage 图像显示亮度最高的像素,其他为黑 GPUImageNonMaximumSuppressionFilter
  59. IOS OpenGL ES GPUImage 图像显示亮度最高的像素,其他为黑 GPUImageThresholdedNonMaximumSuppressionFilter
  60. IOS OpenGL ES GPUImage 图像 Sobel 边缘检测,类似漫画反色 GPUImageSobelEdgeDetectionFilter
  61. IOS OpenGL ES GPUImage GPUImageWeakPixelInclusionFilter
  62. IOS OpenGL ES GPUImage GPUImageDirectionalNonMaximumSuppressionFilter
  63. IOS OpenGL ES GPUImage 图像阈值边缘检测 GPUImageThresholdEdgeDetectionFilter
  64. IOS OpenGL ES GPUImage 图像普瑞维特(Prewitt)边缘检测 GPUImagePrewittEdgeDetectionFilter
  65. IOS OpenGL ES GPUImage 图像 XYDerivative 边缘检测 GPUImageXYDerivativeFilter

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea 中maven依赖报错3部曲

第一步:删除maven本地仓库的.lastUpdated结尾的依赖文件第二步:连接外网,重新导入maven依赖第三步:把pom文件中的报错或者pom文件中不报错但是,idea右侧Maven Project插件报错的依赖,Ctrlx剪切,…

Hadoop精华问答 | Hadoop 和Spark有什么区别?

我们很荣幸能够见证Hadoop十年从无到有,再到称王。感动于技术的日新月异时,希望通过今天的有问有答深入解读Hadoop的昨天、今天和明天,憧憬下一个十年。1Q:Hadoop是什么?A:Hadoop 是一个由 Apache 基金会所…

IOS OpenGL ES GPUImage 图像阀值素描,形成有噪点的素描 GPUImageThresholdSketchFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

Mysql 5.7 错误号码1862 Your password has expired. To log in you must change it using a client...

Mysql 5.7 错误号码1862 Your password has expired. To log in you must change it using a client… 解决方案: 1、进入mysql安装bin目录:执行cmd命令 mysql -u root -p root2、更新密码 SET PASSWORD PASSWORD(root);3、刷新 flush privileges…

要闻君说:重磅!阿里巴巴发布了机器学习平台PAI 3.0版本;厉害!三星推出了业界首款HBM2E内存;Google也做云游戏平台...

关注并标星星CSDN云计算每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 偶是要闻君。最近圈儿内的大型活动真是挤满台历,例如阿里云一年一度的大峰会,这不就在北京开上了!有啥新鲜的?往下看看就知道啦&…

IOS OpenGL ES GPUImage 图像阴影和深度效果 GPUImageMultiplyBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

Gblfy 专栏设立服务大家,共享资源

Gblfy 专栏设立:志在技术交流与分享,经验总结、资源共享,帮助更多在技术领域心存迷茫的人! 专栏设立涉及20多个领域: 程序员需要的日常(收费)软件(都免费)微服务Spring Boot、Springcloud分布式Dubbo Zookeeper的机遇…

云漫圈 | 女生适合做程序员吗?

戳蓝字“CSDN云计算”关注我们哦!转自:程序员小灰女生适合做程序员吗?这是IT行业常常讨论的话题。以小灰的观点,在这个平等自由的时代,女生绝对是非常适合做程序员!在IT领域,身为女生存在着诸多…

IOS OpenGL ES GPUImage 图像混合 GPUImageNormalBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

IOS OpenGL ES GPUImage 图像透明混合 GPUImageAlphaBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

趣挨踢 | “菜鸟”程序员和“大神”程序员的差别竟然这么大...

戳蓝字“CSDN云计算”关注我们哦!出处 | [51CTO技术栈]程序员这个物种自诞生以来,便产生了森严的等级制度,划分标准十分复杂却又有规律可循。我们暂且分为:菜鸟、普通、大牛、大神四个等级,并用图鉴形式来表现各个等级…

IOS OpenGL ES GPUImage 图像溶解 GPUImageDissolveBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

降维的技术

有时候机器学习所使用的特征太多了,几百上千个,这个时候计算量很大,可能需要减少对一些特征进行降维。当然,对特征进行降维不意味着对特征进行筛选,我曾经以为,所谓的降维,就是选择一些更加重要…

IOS OpenGL ES GPUImage 图像叠加 GPUImageOverlayBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

要闻君说:印度公司要在京沪建立数据中心;超 10 万个 GitHub 仓库可泄漏 API 令牌及密钥...

关注并标星星CSDN云计算每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 再次中国行,库克参观故宫(图片来源网络)【3月25日 星期一】云の声音未来5G对于庞大的IPv6业务,对于整个物联网、产业互联网可以提供更…

IOS OpenGL ES GPUImage 图像加深混合 GPUImageDarkenBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

Redis 工具类_慕课版本

缓存RedisRedis 连接池RedisPoolUtil.javaRedis 集群 连接RedisShardedPoolUtil.java通用部分RedisPool.java通用部分RedisShardedPool.java通用部分RedissonManager.java 在这里插入代码片RedisPoolUtil.java package com.mmall.util;import com.mmall.common.RedisPool; imp…

云有约 | 在去O的道路上,AWS表示:经验可复制,惊喜并非只属于我们!

戳蓝字“CSDN云计算”关注我们哦!作者:刘晶晶一直以来,在云计算领域,AWS虽然遥遥领先,但是后有追兵无数,前方却从未有人带带路,想要“偷懒”借鉴学习一下,绝对不能够。一直以来&…

IOS OpenGL ES GPUImage 图像减淡混合 GPUImageLightenBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…