티스토리 툴바




커널 수정 공부시. 


기본 커널 ( 수정되지 않은 커널 ) 과 특정 보드에 맞춰서 수정된 커널을 가지고 비교해가며 어떤 위치를 수정 해야 하는지 공부해 본다.

arch , driver 폴더의 내용이 많이 수정....됫던거 같다.

각 폴더 내부에는 Makefile 과 Kconfig 파일이 존재 하는대 커널 수정하여 특정 드라이버를 추가하는 작업 등을 할때는 해당 폴더가

위치하는 상위 폴더에 Makefile 과 Kconfig 파일을 수정한다.

특히 Kconfig 파일을 수정하면 Make menuconfig 시에 선택하는 메뉴를 추가하거나 삭제하거나 내용을 수정이 가능하다.

각각을 수정하고 나면 커널 이미지 생성을 위해 make 를 수행한다. make 를 통하여 커널 이미지가 생성되면

커널이미지를 해당 보드에 퓨징하고 부팅시켜 부팅로고를 살펴본다. 부팅로고에서 수정한 드라이버의 활성화 여부등을 확인하고

이상없이 동작 한다면 커널 소스 폴더에 .config 파일이 존재하는대  해당 파일을 복사해서 따로 보관하고 있다면 다음번 커널 수정 작업시 

약간은 유용하게 사용 가능 할 것 같다.

드라이버 작성시 해당 보드의 회로도와 해당 디바이스의 데이터 시트를 참고하여 각 핀의 연결 상태, state 등을 확인하여 작성한다.

무작정 작성하면 무지하게 고생 한다.


라이브러리 크로스 컴파일시.


각종 라이브러리를 특정 보드에서 사용하기 위해서는 크로스 컴파일이 필요하다. 무작정 컴파일을 시도했을경우 안되는 경우가 많다.

따라서 몇가지를 먼저 살펴 본 후 컴파일을 시도한다. 

가장 먼저 자신의 크로스 컴파일러의 설치위치. 아무생각없이 ./configure , make , make install 을 시도하면 해당 보드에서 동작 안될 

가능성이 높다. 따라서 ./configure 시 옵션 설정으로 크로스 컴파일러를 지정해두는대 이때 profile에 지정해 두었다면 경로를 따로 

알고 있을 필요가 없을수도 있다. 상황에 맞게 하면된다. 컴파일러 위치를 알아 두었거나 profile 에 지정해 두었다면 configure 시 

지정 가능한 옵션들을 살펴본다. 때에 따라서는 컴파일시 다른 라이브러리를 포함하여 할수도있고 아닌경우도 있기에 우선 적으로 

확인해하여 옵션에서 제어가 가능하다면 옵션을 주는것이 좋다. 또한 각 라이브러리 별로 configure 옵션도 다 다르니 컴파일 전

확인할 필요가 있다. 
 
저작자 표시 비영리

'programing!!!! > 임베디드' 카테고리의 다른 글

잡다한 내용  (0) 2011/06/28
80x86 메모리 주소  (1) 2010/08/17
C의 변수 와 메모리  (0) 2010/08/02
포인터에 관한 진실  (0) 2010/07/22
하드웨어 접근 및 비트연산  (0) 2010/07/19
임베디드 시스템 이란 ?  (0) 2010/07/18
Posted by 만득아잉잉

OpenCV 를 공부하다 보니 컬러 공간에 대한 이해의 필요성을 절실히 느꼇다.

단지 일반적으로 알고있는 RGB 공간이 전부가 아니고 때에 따라서 상황에 맞는 컬러 공간을 이용하여 처리를 해야 효율 적으로 처리가 가능한지에 대해 생각을 해봤다.

□ RGB

RGB 컬러 공간은 모든색을 삼원색(빨강, 초록, 파랑)에 의해 만들어 낸다.

다른 관점에서 본다면 빨강 , 초록 , 파랑 채널에 의해 영상이 출력 된다고도 할 수 있다.

RGB 컬러 공간은 편리 하지만 처리하는대에 있어 제약이 존재 한다. 삼원색 간의 상호 관계가 너무 크기 때문이다.

일반적으로 빨강과 초록을 섞으면 갈색계열의 색이 나올것 이라 예상하지만 RGB 공간에서는 노랑색이 나온다.

따라서 각 시스템에 적합한 컬러 공간이 필요로 하고 RGB 공간으로만 모든 영상처리를 하는대에는 어려움이 있을 것이다.
(아마도.....)

□ YCbCr

ITU-R 601 표준안은 YCbCr 컬러 공간을 정의 했다. YCbCr이라 하면 특별히 공부나 수업을 듣지 않으면 생소할 것이다.

YCbCr 은 각각이 색정보를 나타내는 RGB와는 다르게 Y는 휘도 (Luminance) 즉 밝기에 관한 정보를 담고 있고 Cb와 Cr은 색차 (Cb는 푸른 정도 Cr은 붉은 정도) 정보를 담고 있다. YCbCr은 약어로 YCC 라고도 한다.

24비트 RGB 신호를 YCbCr로 변환하는 공식은 다음과 같다.

- Y  =  0.299 * R + 0.587 * G + 0.114 * B
- Cb  =  (B - Y) * 0.564 + delta
- Cr  =  (R - Y) * 0.713 + delta
※ delta의 값은 8비트일때는 128 , 16비트일때는 32768

YCbCr를 다시 RGB로 변환시의 공식은 다음과 같다.

- R  =  Y + 1.403 * (Cr - 128)
- G  =  Y - 0.714 * (Cb - 128) - 0.344 * (Cr - 128)
- B  =  Y - 1.773 * (Cb - 128)

 HSV

HSV 컬러 공간은 H(Hue) 색상 , S(Saturation) 채도 , V(Value) 명도 를 나타내는 약어이다.

RGB 공간을 HSV 로 변환하는 공식은 다음과 같다.

- V  =  max(R , G , B)
- S  =  (V - min(R , G , B)) / V                 (V가 0이 아닐때)
       =  0
- H  =  60 * (G - B) / S                              (V = R)
       =  120 + 60 * (B - R) / S                     (V = G)
       =  240 + 60 * (R - G) / S                     (V = B)
※ H < 0 일 경우 H = H + 360
0 ≤ V ≤ 1 , 0 ≤ S ≤ 1 , 0 ≤ H ≤ 360 

저작자 표시 비영리

'programing!!!! > OpenCV' 카테고리의 다른 글

컬러 공간  (3) 2010/12/23
Posted by 만득아잉잉