登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
[快速阅读十] 浮点数据的中值模糊及其优化方法。 ...
[快速阅读十] 浮点数据的中值模糊及其优化方法。
[ 复制链接 ]
丧血槌
2025-9-26 11:42:45
昨天实现了16位unsigned short数据的高效中值模糊算法,后面就在想其实我还有一个中值算法一直没有想到好的解决方案,那就是浮点数的中值,这个在某些场合还是有较高的应用价值的。
同样,3*3或者5*5的浮点中值可以直接实现,而且效率一样非常高。
其他半径的了,怎么办,浮点数嘛,不能使用直方图,而且数据范围也很广,不像8位或者16位数据范围都是有限的。这两个问题我一直没有想到解决之道。
在【16位RAW图像处理五】任意位深16位图像的中值模糊快速实现及其应用 一文中看到了解析了Gimp的median_blur实现,文章最后我们提到了GIMP里用了排序获取局部图像的实际使用的色阶数以及对原始色阶做压缩处理,在哪里这个压缩主要是为了提高速度,一切看起来都是那么的自然,我在文章里提了另外一个不用排序就可以快速的实现同样功能的方法,从而避免了排序这个较为缓慢的过程。
但是浮点数无法直接使用直方图进行统计,那个快速方法就无法使用的。
可是,我们如果还是回到排序上去,我们把局部的浮点数进行排序,然后进行同样的编号,编号后的数据不就是整形数了吗,如果对这些整形数进行中值计算,得到的中值不就是真正的中值在浮点有序数列中的索引吗,这样不就可以借助整形数据的中值算法进行浮点的中值计算了吗。
同样举个例子,10个浮点数,他们的值分别为:
1.2 100.3 2000.2 150.1 100.3 40000.5 350.7 1.2 2000.2 300.6 5000.2
排序去重后,得到的数据序列如下:
1.2 100.3 150.1 300.6 350.7 2000.2 5000.2 40000.5
10个浮点数对应的编号为:
0 1 5 2 1 7 4 0 5 3 6
然后把这个编号理解为需要排序的数据,进行中值排序,得到的中值数据为3,这个3即为索引值,在排序去重的数据列,找到索引为3的值,即300.6作为最终的中值。
这样,16位排序算法里后续用到的技巧都可以直接用在浮点数上。
问题迎刃而解了。
细节:
1、测试了GIMP提供的排序算法,然后使用标准的qsort排序,似乎GIMP的排序要更快。
2、GIMP里获取浮点数对应的编号的代码部分技巧也是不错的,可以参考参考。
速度测试:
使用随机生成的浮点数做测试,3072*3072的数据,半径25,耗时约为1500ms,如果使用多线程,在现在的4个物理核心上普通CPU上,也能有500ms的速度。
使用稍微有点重复数据的数据集做测试,一般大概需要1000ms左右的耗时,开启线程可以得到300ms的速度。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
快速
阅读
浮点
数据
中值
相关帖子
让老弟做个数据同步,结果踩了 7 个大坑!
技术人的阅读提效神器:多语言智能中文摘要生成指令
靠谱的程序员推荐阅读----->《阿里Java开发手册》
印度尼西亚股票实时数据API对接文档
印度股票市场数据接口,支持实时行情、IPO新股、公司信息、技术分析等多种功能
靠谱的程序员推荐阅读----->《阿里Java开发手册》
从小时级到分钟级:多点DMALL如何用Apache SeaTunnel把数据集成成本砍到1/3?
阅读《构建之法》提出的5个问题
用过redis哪些数据类型?Redis String 类型的底层实现是什么?
使用TCL脚本快速创建Quartus工程
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
科技
让老弟做个数据同步,结果踩了 7 个大坑!
0
9
筒濂
2025-10-10
业界
技术人的阅读提效神器:多语言智能中文摘要生成指令
0
596
聚怪闩
2025-10-10
业界
靠谱的程序员推荐阅读----->《阿里Java开发手册》
0
947
扈怀易
2025-10-10
安全
印度尼西亚股票实时数据API对接文档
0
574
琦谓
2025-10-10
安全
印度股票市场数据接口,支持实时行情、IPO新股、公司信息、技术分析等多种功能
0
971
纪睐讦
2025-10-11
业界
靠谱的程序员推荐阅读----->《阿里Java开发手册》
0
657
蝌棚煌
2025-10-12
业界
从小时级到分钟级:多点DMALL如何用Apache SeaTunnel把数据集成成本砍到1/3?
0
406
村亢
2025-10-12
业界
阅读《构建之法》提出的5个问题
1
65
辅箱肇
2025-10-13
业界
用过redis哪些数据类型?Redis String 类型的底层实现是什么?
0
712
习和璧
2025-10-13
安全
使用TCL脚本快速创建Quartus工程
0
720
楞粳
2025-10-15
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
丧血槌
2025-9-26 11:42:45
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
3934307807
993678
4
富账慕
9995
5
邹语彤
9991
6
刎唇
9993
7
聚怪闩
9975
8
匝抽
9986
9
烯八
9966
10
筒濂
9974
查看更多