opencv FT显著性检测算法怎么使用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容主要讲解"opencv FT显著性检测算法怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"opencv FT显著性检测算法怎么使用"吧!FT
千家信息网最后更新 2025年02月01日opencv FT显著性检测算法怎么使用FT算法原理
算法实现 算法效果
本篇内容主要讲解"opencv FT显著性检测算法怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"opencv FT显著性检测算法怎么使用"吧!
FT算法出自论文:
Frequency-tuned salient region detection
FT算法实现也非常简单,该方法从频率角度分析图像。
图像在频率域可以分成低频部分和高频部分。低频部分反映了图像的整体信息,如物体的轮廓,基本的组成区域。高频部分反映了图像的细节信息,如物体的纹理。显著性区域检测用到的更多的是低频部分的信息。
在实际进行计算时,FT方法使用窗口5*5的高斯平滑来实现对最高频的舍去。像素的显著性可以用下面公式计算:
其中,Iu为图像的平均特征,使用Lab颜色特征,后一项为像素p在高斯平滑后的Lab颜色特征,||.||为L2范式,即计算前一项和后一项在了Lab颜色空间的欧氏距离。
FT方法实现简单,只需要高斯平滑和平均值计算。
对图像进行5*5的高斯平滑
转换颜色空间。RGB颜色空间转换为CIELAB颜色空间
计算整幅图片的l、a、b的平均值
按照算法中的公式,计算每个像素l、a、b值同图像三个l、a、b均值的欧氏距离,得到显著图
归一化。图像中每个像素的显著值除以最大的那个显著值。得到最终的显著图
程序编写:
void FT::calculateSaliencyMap(Mat *src, Mat * dst, bool corlor,int ksize)
{
if (corlor && (*src).channels() == 3) //处理彩色域
{
Mat img3f = (*src);
img3f.convertTo(img3f, CV_32FC3, 1.0 / 255);
Mat sal(img3f.size(), CV_32F), tImg;
GaussianBlur(img3f, tImg, Size(ksize, ksize), 0);//高斯平滑去除高频信息
cvtColor(tImg, tImg, COLOR_BGR2Lab);//转换为LAB颜色空间
Scalar colorM = mean(tImg); //计算整幅图像的LAB颜色均值
//遍历图像
for (int r = 0; r < tImg.rows; r++)
{
float *s = sal.ptr
(r); float *lab = tImg.ptr
(r); for (int c = 0; c < tImg.cols; c++, lab += 3)
//计算每个像素LAB值与LAB均值的差,即为显著性
s[c] = (float)(sqr(colorM[0] - lab[0]) + sqr(colorM[1] - lab[1]) + sqr(colorM[2] - lab[2]));
}
normalize(sal, *dst, 0, 1, NORM_MINMAX);
}
else //灰度域
{
Mat imgf, tImg;
imgf = *src;
if (imgf.channels() == 3)
{
cvtColor(imgf, imgf, COLOR_RGB2GRAY);
}
imgf.convertTo(imgf, CV_32FC1, 1.0 / 255);
Scalar colorM = mean(imgf);
GaussianBlur(imgf, tImg, Size(ksize, ksize), 0);
Mat sal(imgf.size(), CV_32F);
for (int r = 0; r < tImg.rows; r++)
{
float *s = sal.ptr
(r); float *gray = tImg.ptr
(r); for (int c = 0; c < tImg.cols; c++)
s[c] = (colorM[0] - gray[c])*(colorM[0] - gray[c]);
}
normalize(sal, *dst, 0, 1, NORM_MINMAX);
}
}
到此,相信大家对"opencv FT显著性检测算法怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
显著
图像
算法
颜色
平滑
像素
空间
部分
高斯
检测
信息
方法
均值
特征
公式
内容
区域
实际
平均值
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有没有幻塔免充值的服务器
主流数据库同步技术
防沉迷网络安全教育手抄报
保定IOS软件开发
淘宝云服务器峰值带宽
魔兽世界天涯工会在哪个服务器
姜糖小说软件开发
数据通讯与网络技术是什么
学软件开发用什么电脑比较好
SQL附加数据库异常
河南省本鲸网络技术有限公司
怎么查询数据库有数据的表
软件开发结束后的文档
ibm服务器检测费
网络安全技术亲爱的热爱的
学软件开发专业要学代码吗
互联网 湖南科技大学
国源数据库重复编码
又什么软件可以恢复数据库
湖北服务器防火墙现货
国际网络安全厂家
以色列网络安全事件
网安支队来我院网络安全检查
福州软件开发工程师工资水平
什么是企业级软件开发
做证券的软件开发公司有哪些
大学生网络安全案例5篇
华为网络安全工程师应届
怎样制作小程序软件开发
免费攻击服务器的网站