2013년 10월 24일 목요일

#pragma warning(disable : 4244)


#if (_MSC_VER)      
// make microsoft visual studio complain less about double / float conversion.
#pragma warning(disable : 4244)
#endif


ofQuaternion.h 에서 참고


2013년 10월 20일 일요일

Take Screenshot After Some Delay: gnome-screenshot


$ gnome-screenshot -w -d 2

 -d 2 is used for delaying the screenshot for 2 seconds. So within the 2 seconds, we can make the window which we want to take screenshot as active.

2013년 9월 1일 일요일

Lifelines



Lifelines of referenced historical figures

꼭지점 필터

솔리드 웍스 작업중에 자꾸 켜지는 꼭지점 필터.


Curvature

Geometry perception 과 관련하여:
Larger curves explored by touching multiple points, whether statically or dynamically, appear to be judged by the difference in local slope at different points of contact (Pont, 1997; Pont, Kappers, & Koenderink, 1999).
from Lederman, Susan J., and Roberta L. Klatzky. "Haptic perception: A tutorial." Attention, Perception, & Psychophysics 71.7 (2009): 1439-1459.


Pont, S. C. (1997). Haptic curvature comparison. Unpublished doctoral
dissertation, Helmholz Instituut, Utrecht.

Pont, S. C., Kappers, A. M. L., & Koenderink, J. J. (1999). Similar mechanisms underlie curvature comparison by static and dynamic touch. Perception & Psychophysics, 61, 874-894.


2013년 8월 27일 화요일

수요일 알리미

"매번 벌써 수요일인가?" 라는 생각을 하게하는 수요일 알리미. 



myDAQ

좋은 세상이구나~

2013년 8월 26일 월요일

Eigenvalues of rotation matrix : 0~180 degrees

Eigenvalue의 의미를 보여주는 그래프. y축은 imaginary axis.


추가 1)
When an n×n rotation matrix, Q, does not include −1 as an eigenvalue, so that none of the planar rotations of which it is composed are 180° rotations, then Q+I is an invertible matrix. Most rotation matrices fit this description.




천불동 계곡

사진기로는 담기 힘들었던 천불동 계곡. 
우리나라를 다시보게 만든다.



잘 보면 사람 얼굴같은 바위


2013년 8월 13일 화요일

Leap motion

Leap Motion 설치 완료. 두둥

2013년 8월 8일 목요일

sensor_msgs/JointState - ROS


Raw message definition:

string[] name
float64[] position
float64[] velocity
float64[] effort

# This is a message that holds data to describe the state of a set of torque controlled joints. 
#
# The state of each joint (revolute or prismatic) is defined by:
#  * the position of the joint (rad or m),
#  * the velocity of the joint (rad/s or m/s) and 
#  * the effort that is applied in the joint (Nm or N).
#
# Each joint is uniquely identified by its name
# The header specifies the time at which the joint states were recorded. All the joint states
# in one message have to be recorded at the same time.
#
# This message consists of a multiple arrays, one for each part of the joint state. 
# The goal is to make each of the fields optional. When e.g. your joints have no
# effort associated with them, you can leave the effort array empty. 
#
# All arrays in this message should have the same size, or be empty.
# This is the only way to uniquely associate the joint name with the correct
# states.

from http://www.ros.org/doc/api/sensor_msgs/html/msg/JointState.html

2013년 7월 31일 수요일

금산

하늘과 너무 잘 어울리는 간판

몇몇 집은 열었지만
 
찾아간 날은 정기휴일 !
 

삼계탕집에서 인삼주가 신기한 도로시




2013년 7월 15일 월요일

jebns

처음에 jebns가 뭔가 했다.




.....sugar

2013년 7월 14일 일요일

getGaussianKernel

getGaussianKernel : Returns Gaussian filter coefficients.
getGaussianKernel(int ksize, double sigma, int ktype=CV_64F )

ksize – Aperture size. It should be odd ( \texttt{ksize} \mod 2 = 1 ) and positive.
sigma – Gaussian standard deviation. If it is non-positive, it is computed from ksize as sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8 .
ktype – Type of filter coefficients. It can be CV_32f or CV_64F .



int M = 101;
double sigma = 10;
Mat_ g = getGaussianKernel(M, sigma, CV_64F);

for(int i=0; i
{
double g1 = g(i,0);
Dbg("%f", g1);
}

Mat_ 접근
// more convenient forms of row and element access operators 
    _Tp* operator [](int y);
    const _Tp* operator [](int y) const;

    _Tp& operator ()(int row, int col);
    const _Tp& operator ()(int row, int col) const;
    _Tp& operator ()(Point pt);
    const _Tp& operator ()(Point pt) const;


아래는 http://bytefish.de/blog/opencv/code_snippets/ 에서 가져옴

template
void printMat(const cv::Mat_<_tp>& mat) {
    typedef typename DataType<_tp>::work_type _wTp;
    for(int i = 0; i < mat.rows; i++)
        for(int j=0; j < mat.cols; j++)
            cout << (_wTp) mat(i,j) << " ";
    cout << endl;
}