• 大小: 5.17MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-13
  • 语言: C/C++
  • 标签: opencv  

资源简介

图像显著性检测,用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\link.command.1.tlog
     文件        6582  2016-10-23 13:27  Saliency\Saliency\Debug\Saliency.tlog\link.read.1.tlog
     文件         564  2016-10-23 13:27  Saliency\Saliency\Debug\Saliency.tlog\link.write.1.tlog
     文件         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个文件信息

评论

共有 条评论