spot7.org logo
Home PHP C# C++ Android Java Javascript Python IOS SQL HTML Categories

LookUp Table for 16-Bit Mat Efficient way?


The source code of LUT is in this file: https://github.com/Itseez/opencv/blob/fd59551ff0648d33568d7fc63164bf86c5d3ccb6/modules/core/src/convert.cpp

OpenCV can use several methods for performing lookup-table transforms efficiently: it can use Intel IPP library (class IppLUTParallelBody_LUTCN, for 3 or 4-channel images). If have Intel IPP, you can just copy the code of this class and use ippiLUTPalette_16u_C3R instead of ippiLUTPalette_8u_C3R +fix initialization).

Another possible way is OpenCL library (for GPU), it's invoked from ocl_LUT (sorry, have no experience with it, so I can't give any advice).

Or it uses LUTParallelBody/IppLUTParallelBody_LUTCN classes (corresponding to single and multichannel images). These classes use LUT8u_ template function. No rocket science here: it just iterates over the image a substitutes the values. So you can simply copy and paste IppLUTParallelBody and use slightly different function inside the loop. ParallelLoopBody base class uses a library like OpenMP or Intel TBB to run the loop in multiple threads. I suppose, you don't have to modify anything in it to make it work with new function.


Categories : C++

Related to : LookUp Table for 16-Bit Mat Efficient way?
Fast and efficient array lookup and modification
First, you should profile your code to make sure that this is really a bottleneck worth spending time on. Second, if you're representing your position as an unsigned byte decomposing it into X and Y coordinates will be very fast. If we use the following C code: int getX(unsigned char pos) { return pos%8; } We get the following assembly with gcc 4.8 -O2: getX(unsigned char): shrb $3,

Categories : Arrays
XLST Lookup Table returns false
Perhaps your stylesheet uses xpath-default-namespace and that way the path does not work. Try <xsl:value-of xpath-default-namespace="" select="$LOOKUP/labels/label[@ead='unittitle']" />.

Categories : Xml
eventlog source - string/message table lookup failed
Try to pass in an ID like this: try { EventLog.WriteEntry("LogSource", "test", EventLogEntryType.Error, 6285); } catch { MessageBox.Show("Could not write to log."); } Also, if you have a custom message file, try taking out the lines which say Severity= XXX and Facility=XXX.

Categories : C#
Efficient Method To Partition MySQL Table By Year and Month
SUBPARTITIONs are probably useless. Don't split the date; keep it as a single field. Use `BY RANGE(TO_DAYS(dt)) VALUES LESS THAN (TO_DAYS('2015-02-01')) BY HASH is probably totally useless for performance. WHERE dt BETWEEN .. AND .. cannot do partition pruning in the structure you have. Do not user more than about 50 partitions (for performance reasons). Do not create more than one 'future' parti

Categories : Mysql
Lookup operation gives no result
When you have found the match, then you have to move on to the next cell in column 20. Right now you're not doing that; so regardless of whether a match is found, the search continues and the cell eventually gets overwritten by ws.Cells(i, 20) = "". To stop the search when you've found a match, use Exit For. If ws.Cells(i, 18) = ws2.Cells(r, 17) Then ws.Cells(i, 20) = ws2.Cells(r, 19

Categories : Excel
Recently Add
C++: error C2143: syntax error : missing ';' before '<'
Converting 2s compliment to a decimal. Output is double
how do you compare a string to a vector value?
Converting a long double to double with upward (or downward) rounding
C++: operator<< overloading in the nested classes
Unclear behavior with csv processing using getline
C++ Visual Studio Error: IntelliSense: expected a statement
Game of Nim - showing the remaining numbers and letting a player pick their name?
malloc 1D array in struct
How to create an array of smart pointers?
c++ swapping unique_ptr's
Functions as arguments
Any Fast & Efficient way to generate a 3D Grid?
Is string[] not a type?
C++ typeid(x).name() returns ph
Counting / Printing Path - From (1,1) to (m, n)
C++ input function that calls itself
Error: array must be initialized with a brace-enclosed initializer
SDL_ConvertSurface() causes break
C++ std deviation function?
libcURL Progress Function not being called
What is QList's maximum size?
Run batch with C++
Read a file and write its contents to another C++
extract from stringstream into 2D vector
How to stop Scons adding lib infront of a shared library
Blocking vs non-blocking mode in TCP sockets using C++
SDL2 toggle SDL_WINDOW_RESIZABLE state for fake fullscreen
How can I assign value to specific vector's index?
Operator Overloading with Constant Iterators
© Copyright 2017 spot7.org Publishing Limited. All rights reserved.