资源简介
图像显著性检测,用Saliency算法获得能量图,显示图片的显著性区域
同时显示HSL通道的显著图

代码片段和文件信息
// Saliency.cpp: implementation of the Saliency class.
//
//////////////////////////////////////////////////////////////////////
//===========================================================================
// Copyright (c) 2009 Radhakrishna Achanta [EPFL]
// All Rights Reserved
//===========================================================================
#include “Saliency.h“
#include
#include
#include
using namespace cv;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Saliency::Saliency()
{
}
Saliency::~Saliency()
{
}
//===========================================================================
/// RGB2LAB
//===========================================================================
void Saliency::RGB2LAB(
const vector& ubuff
vector& lvec
vector& avec
vector& bvec)
{
int sz = ubuff.size();
lvec.resize(sz);
avec.resize(sz);
bvec.resize(sz);
for (int j = 0; j < sz; j++)
{
int r = (ubuff[j] >> 16) & 0xFF;
int g = (ubuff[j] >> 8) & 0xFF;
int b = (ubuff[j]) & 0xFF;
double xval = 0.412453 * r + 0.357580 * g + 0.180423 * b;
double yval = 0.212671 * r + 0.715160 * g + 0.072169 * b;
double zVal = 0.019334 * r + 0.119193 * g + 0.950227 * b;
xval /= (255.0 * 0.950456);
yval /= 255.0;
zVal /= (255.0 * 1.088754);
double fX fY fZ;
double lval aval bval;
if (yval > 0.008856)
{
fY = pow(yval 1.0 / 3.0);
lval = 116.0 * fY - 16.0;
}
else
{
fY = 7.787 * yval + 16.0 / 116.0;
lval = 903.3 * yval;
}
if (xval > 0.008856)
fX = pow(xval 1.0 / 3.0);
else
fX = 7.787 * xval + 16.0 / 116.0;
if (zVal > 0.008856)
fZ = pow(zVal 1.0 / 3.0);
else
fZ = 7.787 * zVal + 16.0 / 116.0;
aval = 500.0 * (fX - fY) + 128.0;
bval = 200.0 * (fY - fZ) + 128.0;
lvec[j] = lval;
avec[j] = aval;
bvec[j] = bval;
}
}
//==============================================================================
/// GaussianSmooth
///
/// Blur an image with a separable binomial kernel passed in.
//==============================================================================
void Saliency::GaussianSmooth(
const vector& inputImg
const int& width
const int& height
const vector& kernel
vector& smoothImg)
{
int center = kernel.size() / 2;
int sz = width*height;
smoothImg.clear();
smoothImg.resize(sz);
vector tempim(sz);
int rows = height;
int cols = width;
//--------------------------------------------------------------------------
// Blur in the x direction.
//---------------------------------------------------------------------------
{int index(0);
for (int r = 0; r < rows; r++)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-11-14 20:07 Saliency\
文件 34294 2011-07-11 15:20 Saliency\16.jpg
目录 0 2016-10-23 13:26 Saliency\Debug\
文件 95744 2016-10-23 13:27 Saliency\Debug\Saliency.exe
文件 511084 2016-10-23 13:27 Saliency\Debug\Saliency.ilk
文件 1355776 2016-10-23 13:27 Saliency\Debug\Saliency.pdb
目录 0 2016-10-23 13:27 Saliency\Release\
文件 17920 2016-10-23 19:19 Saliency\Release\Saliency.exe
文件 798720 2016-10-23 19:19 Saliency\Release\Saliency.pdb
目录 0 2016-10-23 13:49 Saliency\Saliency\
文件 11010048 2016-11-14 20:07 Saliency\Saliency.sdf
文件 970 2016-10-23 13:20 Saliency\Saliency.sln
文件 24064 2016-11-14 20:07 Saliency\Saliency.v12.suo
文件 34294 2011-07-11 15:20 Saliency\Saliency\16.jpg
目录 0 2016-10-23 13:27 Saliency\Saliency\Debug\
文件 2254 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.log
文件 233600 2016-10-23 13:26 Saliency\Saliency\Debug\Saliency.obj
目录 0 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\
文件 1302 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\cl.command.1.tlog
文件 15370 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\CL.read.1.tlog
文件 1400 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\CL.write.1.tlog
文件 3010 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\li
文件 6582 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\li
文件 564 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\li
文件 174 2016-10-23 13:27 Saliency\Saliency\Debug\Saliency.tlog\Saliency.lastbuildstate
文件 229815 2016-10-23 13:27 Saliency\Saliency\Debug\Source.obj
文件 470016 2016-10-23 13:27 Saliency\Saliency\Debug\vc120.idb
文件 659456 2016-10-23 13:27 Saliency\Saliency\Debug\vc120.pdb
文件 18279 2016-10-30 15:46 Saliency\Saliency\new16.jpg
文件 18866 2016-10-30 15:46 Saliency\Saliency\new4a.jpg
文件 18434 2016-10-30 15:46 Saliency\Saliency\new4b.jpg
............此处省略21个文件信息
- 上一篇:MCS-51单片机原理与应用(C语言版.
- 下一篇:用c++做的简单火车订票系统
相关资源
- 人脸识别(opencv_facedetect_v4l2)
- 基于opencv的模板匹配代码
- opencv图片扫描以及校正
- opencv手部轮廓识别以及轨迹识别
- opencv2 3D标定.cpp
- 基于opencv漫水填充算法综合
- opencv激光中心线的提取
- OpenCV Computer Vision Application Programming
- 基于图割的图像分割OpenCV+MFC实现
- 识别魔方颜色
- opencv版俄罗斯方块源码
- VS2013 / MFC + OpenCV 2.4.9实现视频的播放
- 粒子滤波器+目标跟踪的C++实现,VS2
- 张平OpenCV算法精讲基于python和C++教材
- 虹膜识别开源代码OSIRIS4.1基于opencv
- Sift特征点提取与匹配opencv库
- YCbCr、混合高斯以及YCbCg肤色检测模型
- 光流法代码
- OpenCV打开摄像机显示在MFC窗口工程源
- 使用c++读取图像到二维矩阵
- 三维点云的圆柱面拟合
- MFC+OPENCV摄像机标定程序
- 基于特征脸的人脸识别MFC+OpenCV
- opencv图像处理MFC
- OPENCV人脸检测加角点检测并输出坐标
- FillHole.rar
- 道路提取算法 c++ opencv
- PCA代码实现详解
- opencv卡尔曼滤波
- SeamCarving opencv c++
评论
共有 条评论