python byte to string, string to byte example

refer to this code
thank you.

str = byte.decode( encoding='UTF-8')
byte2 = str.encode( encoding='UTF-8' )


Opencv float array to Mat

you can input float array data to Mat through this way.

float H[9]={1,2,3,4,5,6,7,8,9};
Mat TT = Mat(3,3,CV_32FC1, &H);

But becareful, if H value is changed, TT value is also changed.

See the example source code.

float H[9];
 for(int i=0; i< 9; ++i)
  H[i] = i;
 for(int i=0; i< 9; ++i)
  cout << i << " : " << H[i] << endl;

 Mat TT = Mat(3,3,CV_32FC1, &H);
 cout << TT << endl; 

 for(int i=0; i< 9; ++i)
  H[i] = i*10;

 cout << "TT values are chaned.." << endl;
 cout << TT << endl;

 cout << endl;
If we modify code like this..
Mat TT = Mat(3,3,CV_32FC1, &H);

-> Mat TT = Mat(3,3,CV_32FC1, &H).clone();

TT value is not affected by float array.


CUDA Link2005 error.

I meet the this error when compile CUDA.

error LNK2005: "int __cdecl XXXX" (?XXXXX@@YAHXZ) already defined in XXX.cu.obj

I solved error from the web page. -> http://stackoverflow.com/questions/5295503/cuda-lnk2005-error-on-device-function-used-in-header-file

In my case, I add "inline" keyword front of cuda function name.
 __device__ void matrix_set_identity(GPU_Matrix *A)


inline  __device__ void matrix_set_identity(GPU_Matrix *A)

Thank you.

proof, lim x->0 sin(x)/x = 1


nvcc : fatal error : Could not set up the environment for Microsoft Visual Studio using ...

I meet this error when I complie opencv + cuda.

I have tried hundreds of times to solve this problem.
I tried opencv 2.4.8 + cuda 5.5 + vs 2012
opencv 2.4.8 + cuda 6 + vs 2012
opencv 2.4.9 + cuda 5.5 + vs 2012
opencv 2.4.9 + cuda 6 + vs 2012
opencv 2.4.9 + cuda 6 + vs 2013.

when I almost dead, I find solution.
It is solution.
Open "nvcc.profile" by text editor.
This file may be located in "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.0\bin" (in my case)
And add this setense
CUDA_NVCC_FLAGS += --compiler-bindir = "-IE:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin"

so this figure is all contents of nvcc.profile.

I am happy to notice this tip to world.