MrZigZag

DON'T PANIC!


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

离散二维点集的热度图生成

发表于 2016-04-15   |   分类于 工程代码   |  

最近在处理一些二维注视点,需要直接将离散的二维注视点转换成概率分布,基本原理是用Gaussian函数进行卷积生成连续的概率分布。处理这个之前顺便做了一个简单的可视化,利用涂色原理生成热度图并涂上彩虹色。

HeatMap.hpp

1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef HeatMap_hpp
#define HeatMap_hpp

#include <opencv2/opencv.hpp>
#include <cmath>

cv::Vec3b getRainbowColor(int gray, bool black_base = false);
void paintMap(cv::Mat_<float> &img, cv::Point p, int radius, int base = 0);
cv::Mat_<uchar> generateHeatMapGray(cv::Mat_<float> &raw_map);
cv::Mat_<cv::Vec3b> generateHeatMapColor(cv::Mat_<uchar> &heat_map_gray, bool black_base = false);
cv::Mat_<cv::Vec3b> generateHeatMapColor(cv::Mat_<float> &raw_map, bool black_base = false);

#endif /* HeatMap_hpp */
阅读全文 »

State-of-the-Art in Visual Attention Modeling

发表于 2016-04-08   |   分类于 Attention Shift   |  

Abstract

  1. This article presents a taxonomy nearly 65 models, which provides a critical comparison of approaches, their capabilities, and shortcomings.
  2. 13 criteria derived from behavioural and computational studies are formulated for quantitative comparison of attention models.

Articles on Attention Shift 1

发表于 2016-04-08   |   分类于 Attention Shift   |  

Section 1

1. Attention Shift in Infancy

Automatic Detection of Attention Shift in Infancy: Eye Tracking in the Fixation Shift Paradigm

Louisa Kulke, Janette Atkinson, Oliver Braddick

Abstract

  1. Changes in switches of attention between 1 and 9 months of age in 67 TD infants.
  2. Saccadic latencies, as a measure of attention shift, from a central stimulus to peripheral visual target , measured in Fixation Shift Paradigm.
  3. Competition Condition: the central stimulus stays visible when the peripheral target appears.
    阅读全文 »

A*寻路算法

发表于 2016-04-07   |   分类于 ACM   |  

1. A*算法

启发式搜索、估价函数、时间上最优、空间增长指数级别

  • Start Point, End Point, Obstacles
  • 估值函数,F=G+H, F为从Start Point到当前点的耗费,H为从当前点到End Point的耗费。
  • OpenList 存放需要估值的点 CloseList 存放估值过的点

Algorithms

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
OpenList.add(StartPoint);
do {
current_point = OpenList.lowestF();
OpenList.remove(current_point);
CloseList.add(current_point);

for (point in Neighbourhood(current_point)) {
if (point in CloseList || point is Obstacles) continue;
else if (point not in OpenList) {
calculateFGH(point);
point.father = current_point;
OpenList.add(point);
}
else {
if (current_point.G + calculateG(current_point, point) < point.G) {
point.G = current_point.G + calculateG(current_point, point);
point.F = point.G + point.H;
point.father = current_point;
}
}
}
} while (OpenList.size() && EndPoint not in CloseList)
find paths

用C++编译器优化实现记忆化

发表于 2016-04-07   |   分类于 ACM   |  

如果要实现输出fib(100)%1200007,可以实现用编译器来自动记忆化。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
template<int x>
struct fib{
static const int val = (fib<x - 1>::val + fib<x - 2>::val) % 1200007;
}
template<>
struct fib<0>{
static const int val = 1;
}
template<>
struct fib<1>{
static const int val = 1;
}
int main(){
cout << fib<100>::val << endl;
return 0;
}
阅读全文 »

整数划分问题

发表于 2016-04-07   |   分类于 ACM   |  

整数划分问题

2015-09-13

问题描述

将正整数n表示成一系列正整数之和,n=n1+n2+...+nk,其中有n1>=n2>=...>=nk>=1, k>=1,这种表示成为正整数n的划分。如果限定k则称为n的k划分。

基本思路

考虑n的划分。

记F[n,k]为n的1划分+2划分+…+k划分的数目,则n的划分即为F[n,n]。

则n的k划分为F[n,k]-F[n,k-1]。

考虑以下5种情况:

  1. n=1,显然只能有一个情况,F[1,]=1
  2. k=1,只有一个划分,F[,1]=1
  3. n=k,如果划分中有n,则只有一种情况;如果没有n,则最大的数为n-1,此时划分数为F[n,n-1]。因此加起来就是F[n,n]=1+F[n,n-1]
  4. n<k,显然k不能超过n,因此等价于n=k,F[n,k]=F[n,n]
  5. n>k,如果有k划分,则等价于F[n-k,k];否则没有k划分,等价于F[n,k-1];加起来就是F[n-k,k]+F[n,k-1]。
    阅读全文 »

Dijkstra单源最短路径

发表于 2016-04-07   |   分类于 ACM   |  

关于最短路径

给定一张图,从一点出发,到达图中所有点的最短路径。

该性质描述为:如果P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,k和s是这条路径上的一个中间顶点,那么P(k,s)必定是从k到s的最短路径。下面证明该性质的正确性。

假设P(i,j)={Vi....Vk..Vs...Vj}是从顶点i到j的最短路径,则有P(i,j)=P(i,k)+P(k,s)+P(s,j)。而P(k,s)不是从k到s的最短距离,那么必定存在另一条从k到s的最短路径P'(k,s),那么P'(i,j)=P(i,k)+P'(k,s)+P(s,j)<P(i,j)。则与P(i,j)是从i到j的最短路径相矛盾。因此该性质得证。

由上述性质可知,如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必定是从i到k的最短路径。为了求出最短路径,Dijkstra就提出了以最短路径长度递增,逐次生成最短路径的算法。譬如对于源顶点V0,首先选择其直接相邻的顶点中长度最短的顶点Vi,那么当前已知可得从V0到达Vj顶点的最短距离dist[j]=min{dist[j],dist[i]+matrix[i][j]}。根据这种思路,

阅读全文 »
123
李松江

李松江

So long and thanks for all the fish.

16 日志
4 分类
6 标签
RSS
知乎 GitHub 微博 LabProfile
© 2016 李松江
由 Hexo 强力驱动
主题 - NexT.Pisces