标签: lookup-tables

如何在JavaScript中使用LUT?

我是图像处理的新手.

我想使用JavaScript将效果应用于使用LUT(LookUp Tables)或相应的查找PNG的图像,如下所示:

在此输入图像描述

我google了很多,找不到一篇文章或任何资源来描述使用LUT进行像素转换的确切过程.

我在这里找到了一篇很好的文章,它描述了1D和3D LUT以及它们之间的差异.但它对我来说仍然不是很清楚.

我想是这样,这是为iOS完成.

PS请不要发布关于图像过滤库的链接/答案,图像过滤库使用卷积矩阵作为效果或过滤器.

更新:

最后!@abbath,我得到了答案.我在GitHub中创建了一个要点,你可以在这里找到.

javascript image-processing lookup-tables

9
推荐指数
1
解决办法
4232
查看次数

在哪里放置编译时常量数组?

假设我有一个存储前10个素数的数组,如下所示:

const int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
Run Code Online (Sandbox Code Playgroud)

只要我有1个.cpp文件,这一切都非常简单和简单.但是,如果我有多个.cpp文件,我真的不知道在哪里放这个数组.

一个明显的解决方案是:

// primes.h:
extern const int primes[10];

// primes.cpp:
extern const int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
Run Code Online (Sandbox Code Playgroud)

但是,问题是primes数组不再是编译时常量.假设x.cpp想要进行一些涉及素数[k]的繁重计算,使用ka编译时间常数,它必须进行实际的内存查找.我不喜欢那样.

那么我在哪里放置这个数组:

  1. 在二进制文件中只有一次(不是每个.cpp文件一次)
  2. array [SOME_CONSTANT]也是一个编译时常量

编辑

这个怎么样?

inline int prime(int i) {
    static const int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
    return primes[i];
}
Run Code Online (Sandbox Code Playgroud)

PS:即使上面的"明显的解决方案"花了我相当长的时间来写.显然const变量默认有内部链接,所以我不得不在primes.cpp文件中添加"extern"以使其工作.

c++ lookup-tables compile-time-constant

8
推荐指数
1
解决办法
1907
查看次数

C++中简单的constexpr LookUpTable 14

我试图基于一个整数数组创建一个简单的 LookUpTable,其思路是在编译时计算它.

试图使它可以用于我可能拥有的各种整数类型的任何其他未来表,我需要它作为模板.

所以我有一个LookUpTable.h

#ifndef LOOKUPTABLE_H
#define LOOKUPTABLE_H

#include <stdexcept> // out_of_range

template <typename T, std::size_t NUMBER_OF_ELEMENTS>
class LookUpTableIndexed
{
    private:
        //constexpr static std::size_t NUMBER_OF_ELEMENTS = N;

        // LookUpTable
        T m_lut[ NUMBER_OF_ELEMENTS ] {}; // ESSENTIAL T Default Constructor for COMPILE-TIME INTERPRETER!

    public:
        // Construct and Populate the LookUpTable such that;
        //   INDICES of values are MAPPED to the DATA values stored
        constexpr LookUpTableIndexed() : m_lut {}
        {
            //ctor
        }

        // Returns the …
Run Code Online (Sandbox Code Playgroud)

c++ lookup-tables constexpr c++14

8
推荐指数
1
解决办法
503
查看次数

如何确定Pi(π)的准确性

优化我们正在开发的游戏,我们正在进入每个CPU周期都很重要的阶段.我们使用弧度来计算围绕其他对象旋转的对象的位置,我想在查找表中减少不必要的精度.为此,我们大量使用预定义的Pi.这个Pi有多准确?

所以,我的问题是:

  • 准确度有多准确?
  • 或者甚至更好,如何确定所需的准确度?

c optimization trigonometry lookup-tables floating-accuracy

7
推荐指数
2
解决办法
1363
查看次数

在latex中创建符号列表

我正在尝试在我的乳胶项目中获得一个自动生成的符号列表.这是我到目前为止的宏...

\newcommand{\addsymbol}[3]{%
  \symboldisplay{#1}{#2}\\%
  \setelem{#3}{#1}
}
\newcommand{\symboldisplay}[2]{%
  $#1$ \parbox{5in}{\dotfill #2}%
}

\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname}
\def\dispsymbol#1{\csname myarray(#1)\endcsname}
Run Code Online (Sandbox Code Playgroud)

然后我包括我的符号列表

\begin{listofsymbols}
\input{symbols}
\end{listofsymbols}
Run Code Online (Sandbox Code Playgroud)

symbols.tex文件的位置

\addsymbol{n}{Number of sample points}{num_points}
\addsymbol{f_s}{Sampling frequency}{samp_frequency}
Run Code Online (Sandbox Code Playgroud)

然后我可以通过标签来获取我的符号:\ dispsymbol {num_points} - 在这种情况下显示n.

当我在同一章(符号列表章节)中调用\ dispsymbol作为\ addsymbol def时,这可以找到并且花花公子... 当我试图在另一章中获得符号的标签时似乎没有任何效果.

任何人都可以帮助我,或建议一个能满足我需求的套餐吗?

macros latex lookup-tables

7
推荐指数
2
解决办法
1万
查看次数

我应该在查找表中使用代码吗?

我正在使用Orable数据库,我正在添加几个查找表.

一般的问题是查找表是否应包含代码和描述,代码是FK返回主表,还是查找表只包含描述,而FK是否应该返回主表.

我在争论代码/描述对.我觉得,如果我有type = Contractorcode = CN一个存储过程应该说where type='CN',而不是只具有type=Contractor无代码和存储过程中这样说:where type='Contractor'因为如果我要显示什么:General Contractor给用户,而不是Contractor.然后我必须改变存储过程.我觉得我不应该这样做.(更改存储过程需要在dev中重新编译,迁移到测试,由客户端重新测试,以及迁移需要经历涉及两周等待期的变更控制过程的prod;而修改表中的记录则不需要任何这个的)

我的数据建模者只想使用描述.他的主要论点是,它需要一个无关紧要的联盟.

应该采用哪种方式?如果应该完成代码/描述方式,我该如何说服数据建模者?

谢谢!

type_cd    type_dsc
CN         Contractor
IN         Inspector
Run Code Online (Sandbox Code Playgroud)

sql database oracle database-design lookup-tables

7
推荐指数
2
解决办法
1416
查看次数

C++ exp LUT(查找表)

在我正在编写的C++ CPU绑定模拟中,我在程序中通过valgrind追踪了一个瓶颈cmath::exp.它目前占我模拟时间的40%以上.我可以将输入绑定到一个相对较小的域,但我想控制准确性.我正在考虑转移到LUT(查找表)来替换,exp但我不太确定如何以"正确的方式"(tm)执行此操作.我有些担忧:

  1. 大型查找表将不适合缓存,从而减慢访问速度
  2. 将双输入转换为整数以便访问查找表的最佳方法
  3. (2)的答案是否取决于输入函数的斜率?
  4. 我是否重新发明轮子 - 以前是否已经完成了这项工作?

实现/(从库中包含)LUT的最佳方法是什么exp

c++ profiling lookup-tables

7
推荐指数
1
解决办法
4512
查看次数

查找表的CUDA内存

我正在设计一组数学函数,并在CPU和GPU(带有CUDA)版本中实现它们.

其中一些功能基于查找表.大多数表占用4KB,其中一些表更多.基于查找表的函数接受输入,选择查找表的一个或两个条目,然后通过内插或应用类似技术来计算结果.

我现在的问题是:我应该在哪里保存这些查找表?CUDA设备有许多用于存储值的地方(全局存储器,常量存储器,纹理存储器......).假设每个表可以被许多线程同时读取,并且输入值以及查找索引在每个warp的线程之间可以完全不相关(导致不相关的内存访问),哪个内存提供最快的访问?

我补充说,这些表的内容是预先计算的并且完全不变.

编辑

只是为了澄清:我需要存储大约10个不同的4KB查找表.无论如何,如果对于例如100个4KB表或例如10个16KB查找表的情况,对于这种情况的解决方案将是相同的将是很好的.

cuda lookup-tables

7
推荐指数
1
解决办法
2852
查看次数

Excel:查找与另一列匹配的列中的最小/最大值

我有一个有两列的表,比如A:B.我在列A中有一个单独的列表(在D列中).对于列D中的每个目标值,我想在col A与目标匹配的所有行中找到B列中的最小值和最大值.例如,如果数据如图所示,

    col A   col B        col D
 1  7.5     1.00         7.5      1.00   1.20
 2  7.5     1.04         8        1.08   1.45
 3  7.5     1.08         8.5      1.17   1.83
 4  7.5     1.15
 5  7.5     1.20
 6  8       1.08
 7  8       1.13
 8  8       1.20
 9  8       1.29
10  8       1.38
11  8       1.43
12  8       1.45
13  8.5     1.17
14  8.5     1.22
15  8.5     1.26
16  8.5     1.35
17  8.5     1.42
18  8.5     1.51
19  8.5     1.58
20  8.5     1.64
21  8.5     1.69 …
Run Code Online (Sandbox Code Playgroud)

excel lookup-tables

7
推荐指数
1
解决办法
7万
查看次数

实现一个查找表,该表获取T并返回List <T>类型的方法的属性

我有一个管理对象如集合类List<Car>List<Bike>它们属性附加伤害.

我想找到一种方法来在查找中获取每个集合的引用,这样我就可以实现诸如Add<Car>(myCar)Add(myCar)(带反射)之类的方法,并将它添加到正确的集合中.

我试过以下,

public class ListManager 
{
    private Dictionary<Type, Func<IEnumerable<object>>> _lookup 
        = new Dictionary<Type, Func<IEnumerable<object>>>();

    public ListManager()
    {
        this._lookup.Add(typeof(Car), () => { return this.Cars.Cast<object>().ToList(); });
        this._lookup.Add(typeof(Bike), () => { return this.Bikes.Cast<object>().ToList(); });
    }

    public List<Car> Cars { get; set; }
    public List<Bike> Bikes { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是.ToList()创建一个新列表而不是引用,因此_lookup[typeof(Car)]().Add(myCar)只会添加到字典列表中.

c# lookup-tables

7
推荐指数
1
解决办法
302
查看次数