[카메라] 적외선 카메라에 사용되는 IR LED

IR (Infra-Red 적외선) + LED(Light-Emitting-Diode 발광다이오드)의 줄임말.
일반 LED는 빛(광선)이 보이지만 적외선은 보이지 않는다. 대표적인 용도는 TV 리모콘에 쓰이고(각종 가전제품의 리모콘), 기타 영화에서 등장하는 도난경보기(적색 줄), 산업용 적외선 센서 등에 사용된다.
- 송신과 수신이 한조가 되어야 한다. (송수 일체형이 있고, 송수 분리형이 있다)
- 리모콘은 송수분리형

다시 본론으로 돌아가서,
적외선 LED는 빛이 없을 때 사용하기 위함인데, 적외선 LED 카메라의 경우, 빛이 부족하거나 없을 때 LED가 켜져 적외선이 나간다.
물체에 부딪히고 반사된 적외선을 카메라에서 인식해서 흑백화면으로 보여줍니다.

by Feeeeel | 2012/01/27 14:46 | ITS 관련 | 트랙백 | 덧글(0)

[카메라] Day & Night 기능 및 원리

1. Day & Night 기능
종래에 일반 CCTV카메라는 사용하는 곳의 환경여건에 따라 컬러 혹은 흑백 카메라를 선택해 사용할 수 밖에 없어 효율성이 떨어지는 문제점이 발생했다. 이를 해결하기 위해 저조도 기능의 컬러 카메라 등을 사용해 왔지만 가격이 비싸고, 축적방식을 사용함으로써 이동 피사체에 대한 영상 식별이 곤란한 문제가 발생해 사용조건이 극히 제한적인 단점이 있었다. 이를 극복하기 위해 채용한 것이 바로 Day Y Night 기능이다.

기존 저조도 기능은 셔터 스피드를 임의로 조절해 여러장의 영상을 압축해 표현하는 방색으로 어두운 영상을 밝게 보여주는 장점은 있지만 영상의 고스트(Ghost) 현상 발생으로 감시목적으로는 부적합하기 때문에 이러한 단점을 보완하게 된 것이 바로 Day & Night 기능이다.

Day & Night 카메라는 광량이 부족한 지하주차장이나 어두운 실내공간에서도 선명한 화질을 구현하고자 할때 사용하며 광량을 자동으로 감지함으로써 낮에는 IR Cut 필터로, 밤에는 IR Cut 필터를 제거해 깨끗한 화질을 구현한다.

2. Day & Night 기능의 원리
Day & Night 기능의 원리에 대해 좀 더 구체적으로 알아보자. 
주간은 가시광선 + 자외선 + 적외선, 야간에는 자외선 + 적외선 + 미미한 가시광선으로 빛이 구성된다. 
이러한 상황에서 CCD가 내장된 CCTV카메라는 시실 가시광선 + 자외선 + 적외선 영역을 모두 촬영하게 된다. 그러나 주간에는 사실상 가시광선 영역만이 필요하므로 IR Cut 필터를 CCD 앞에 부착하고 , 이 필터는 적외선과 자외선이 통과하지 못하도록 하는 역할을 수행하는데, 만약 필터를 사용하지 않을 경우는 색상이 모두 틀려 보이는 문제가 발생한다.

이렇듯 주간에는 CCTV 카메라가 가시광선 영역에서 촬영하게 되므로 색상을 구분할 수 있지만 야간에는 가시광선이 매우 미미하기 때문에 색상을 구분하기가 어려워진다. 이때 IR Cut필터를 제거해 적외선과 자외선 그리고 미미한 가시광선을 받아들이게 되는 것이다. 즉, Day & Night 카메라는 CCD 앞에 IR Cut 필터를 주간에는 부착하고, 야간에는 제거함으로써 야간에도 사람이나 물체를 감시할 수 있도록 하는 원리다.

Day & Night 카메라로 야간에 감시할 때 영상이 흑백으로 바뀌게 되는 이유는 빛 가운데 가시광선이 없어 회로와 CCD 자체에서 노이즈가 많이 생기게 되는데 이러한 현상을 없애기 위해 컬러신호를 아예 제거해 버리기 때문이다.

by Feeeeel | 2012/01/27 14:36 | ITS 관련 | 트랙백 | 덧글(0)

안드로이드 Intent 사용

안드로이드 Intent에서 앱을 호출하는 방법을 정리 합니다.
출처: http://www.jopenbusiness.com/tc/oss/entry/Android-Intent-%ED%99%9C%EC%9A%A9-%EC%82%AC%EB%A1%80

연락처 Intent

  • 연락처 조회
intent = new Intent(Intent.ACTION_VIEW, 
Uri.parse("content://contacts/people/" +
String.valueOf(contact.getId())));
startActivity(intent);
  • 연락처 등록
intent = new Intent(Intent.ACTION_INSERT, 
Uri.parse("content://contacts/people"));
startActivity(intent);
  • 연락처 수정
intent = new Intent(Intent.ACTION_EDIT, 
Uri.parse("content://contacts/people/" +
String.valueOf(contact.getId())));
startActivity(intent);
  • 연락처 삭제
intent = new Intent(Intent.ACTION_DELETE, 
Uri.parse("content://contacts/people/" +
String.valueOf(contact.getId())));
startActivity(intent);

전화 Intent

  • 권한 설정 (AndroidManifest.xml)
전화 걸기         : CALL_PHONE = "android.permission.CALL_PHONE"
긴급 통화  : CALL_PRIVILEGED =
"android.permission.CALL_PRIVILEGED"
폰 상태 읽기  : READ_PHONE_STATE =
"android.permission.READ_PHONE_STATE"
폰 상태 수정  : MODIFY_PHONE_STATE =
"android.permission.MODIFY_PHONE_STATE"
브로드케스팅 수신 : PROCESS_OUTGOING_CALLS =
"android.permission.PROCESS_OUTGOING_CALLS"
전화 걸기 이전  : ACTION_NEW_OUTGOING_CALL =
"android.intent.action.NEW_OUTGOING_CALL"
  • 전화걸기 화면
Intent intent = new Intent(Intent.ACTION_DIAL, 
Uri.parse("tel:" + TelNumber));
startActivity(intent);
  • 전화걸기
Intent intent = new Intent(Intent.ACTION_CALL, 
Uri.parse("tel:" + TelNumber));
startActivity(intent);

SMS Intent

  • 권한 설정 (AndroidManifest.xml)
수신 모니터링       : RECEIVE_SMS = "android.permission.RECEIVE_SMS"
읽기 가능  : READ_SMS = "android.permission.READ_SMS"
발송 가능  : SEND_SMS = "android.permission.SEND_SMS"
SMS Provider로 전송 : WRITE_SMS = "android.permission.WRITE_SMS"
 : BROADCAST_SMS = "android.permission.BROADCAST_SMS"
  • SMS 발송 화면
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra("sms_body", "The SMS text");
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);
  • SMS 보내기
Intent intent = new Intent(Intent.ACTION_SENDTO, 
Uri.parse("smsto://" + contact.getHandphone()));
intent.putExtra("sms_body", "The SMS text");
intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);

이메일 Intent

  • 이메일 발송 화면
Intent intent = new Intent(Intent.ACTION_SENDTO, 
Uri.parse("mailto:" + contact.getEmail()));
startActivity(intent);

브라우저 Intent

  • Browser에서 URL 호출하기
new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
startActivity(intent);
  • 브라우저에서 검색
Intent intent = new Intent(Intent.ACT ION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, "검색어");
startActivity(intent);

지도 Intent

  • 지도 보기
Uri uri = Uri.parse ("geo: 38.00, -35.03");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

안드로이드 마켓 Intent

  • 안드로이드 마켓에서 Apps 검색
Uri uri = Uri.parse("market://search?q=pname:전제_패키지_명");  
//--- 예) market://search?q=pname:com.jopenbusiness.android.smartsearch
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
  • 안드로이드 마켓의 App 상세 화면
Uri uri = Uri.parse("market://details?id=전제_패키지_명");
//--- 예) market://details?id=com.jopenbusiness.android.smartsearch
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

갤럭시S의 Intent

  • 패키지명과 클래스명으로 App 호출
intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("패키지명", "전체_클래스명"));
startActivity(intent);
  • 전화, SMS
  • 전화번호부 : com.android.contacts, com.sec.android.app.contacts.PhoneBookTopMenuActivity
  • 전화 : com.sec.android.app.dialertab, com.sec.android.app.dialertab.DialerTabActivity
  • 최근기록 : com.sec.android.app.dialertab, com.sec.android.app.dialertab.DialerTabDialerActivity
  • 메시지 : com.sec.mms, com.sec.mms.Mms
  • 이메일 : com.android.email, com.android.email.activity.Welcome
  • 일정 : com.android.calendar, com.android.calendar.LaunchActivity
  • 인터넷 : com.android.browser, com.android.browser.BrowserActivity
  • Google의 Android용 앱
  • 검색 : com.google.android.googlequicksearchbox, com.google.android.googlequicksearchbox.SearchActivity
  • 음성 검색 : com.google.android.voicesearch, com.google.android.voicesearch.RecognitionActivity
  • Gmail : com.google.android.gm, com.google.android.gm.ConversationListActivityGmail
  • 지도 : com.google.android.apps.maps, com.google.android.maps.MapsActivity
  • 위치찾기 : com.google.android.apps.maps, com.google.android.maps.LatitudeActivity
  • YouTube : com.google.android.youtube, com.google.android.youtube.HomeActivity
  • 토크 : com.google.android.talk, com.google.android.talk.SigningInActivity
  • Goggles : com.google.android.apps.unveil, com.google.android.apps.unveil.CaptureActivity
  • Google 번역 : com.google.android.apps.translate, com.google.android.apps.translate.HomeActivity
  • Reader : com.google.android.apps.reader, com.google.android.apps.unveil.CaptureActivity
  • Voice : com.google.android.apps.googlevoice, com.google.android.apps.googlevoice.SplashActivity
  • Google 별지도 : com.google.android.stardroid, com.google.android.stardroid.activities.SplashScreenActivity
  • 카메라 : com.sec.android.app.camera, com.sec.android.app.camera.Camera
  • TV : com.sec.android.app.dmb, com.sec.android.app.dmb.activity.DMBFullScreenView
  • Android 관리
  • 환경 설정 : com.android.settings, com.android.settings.Settings

          *Wi-Fi 설정 : com.android.settings, com.android.settings.wifi.WifiSettings

  • 작업 관리자 : com.sec.android.app.controlpanel, com.sec.android.app.controlpanel.activity.JobManagerActivity
  • 마켓 : com.android.vending, com.android.vending.AssetBrowserActivity

by Feeeeel | 2011/12/20 10:16 | 안드로이드 | 트랙백 | 덧글(0)

apk 파일 생성하기 (배포용)

apk파일은 윈도우의 설치파일과 동일한 파일로 생각하면 된다.
해당 파일을 생성해야 배포가 가능하다~~
배포 방법에 대해서는 포스팅이 잘되어 있기 때문에 아래 주소를 참조하기 바란다.
http://blog.naver.com/shywink1004?Redirect=Log&logNo=109653492

by Feeeeel | 2011/01/27 16:32 | 안드로이드 | 트랙백 | 덧글(0)

◀ 이전 페이지 다음 페이지 ▶