검색결과 리스트
전체보기에 해당되는 글 127건
- 2010.10.25 Win32 API에서 영상처리를 위해 이미지로부터 픽셀 배열 얻어오기
- 2010.10.23 직접 개발한 프로그램 - 친구 위치 찾기 18
- 2010.10.23 넥서스원 , 2.2.1 업데이트
글
Win32 API에서 영상처리를 위해 이미지로부터 픽셀 배열 얻어오기
Mobile Programming/Windows Mobile
2010. 10. 25. 21:19
먼저 대단히 좋은 참고가 된 지식인 유저분과, 이 지식인을 찾기 위해 함께 고생해주신 우리 06학번 오빠한테 감사하다는 말씀을!
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=67833701&qb=aGJpdG1hcCDtlL3shYAg7Ja77Ja064K06riw&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=gKSisv331xCsscnLn1Vssv--272669&sid=TMVVR@dHxUwAAGI6EQQ
윈모는 아니지만, 모체가 되는 API에 대해 글 하나 올리려합니다 ㅋ
그동안 영상처리를 위해 픽셀을 받아오는 건 그냥 와인라벨하던 프로젝트의 솔루션 기본 파츠를 그냥 그대로 들고오던거라 어떻게 얻어오는지 전혀 몰랐습니다.
지능시스템을 위해서 영상처리가 필요했는데 , 역시 픽셀을 얻어오는 것이 선행되어야 합니다.
DDB(Device Dependent Bitmap)는 처리속도가 낮고 배열로 취급하기가 어려워
DIB 이미지에서 픽셀배열을 얻어오는편이 편하다고 합니다.
1차원 배열을 얻어오는 점이 아직 문제가 되긴 합니다만 ,
어쨋거나 DIB에서 픽셀배열을 얻어오는데 필요한 구조체는
1. DIBSECTION
2. RGBTRIPLE (여기에 RGB값이 들어있습니다)
입니다 .
#define HBYTES(w, b) ((((w) * (b) + 31) & ~31) / 8) hBitmap = (HBITMAP)LoadImage(NULL, Path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); DIBSECTION dib; GetObject(hBitmap, sizeof(DIBSECTION), &dib); DWORD cbHBytes = HBYTES(dib.dsBmih.biWidth, dib.dsBmih.biBitCount);//cbhbyte : 수평바이트수 if(dib.dsBmih.biBitCount == 24) {//RGB데이터일때만 int im_Height = dib.dsBmih.biHeight; //DIB는 Y좌표가 상위로 갈수록 +. 따라서 높이 - 정상좌표가 바뀐 역방향좌표. int p = (dib.dsBmih.biWidth * (im_Height-550)) + 270; int x = p % dib.dsBmih.biWidth; int y = p / dib.dsBmih.biWidth; RGBTRIPLE* p1 = (RGBTRIPLE*)((LPBYTE)dib.dsBm.bmBits + y * cbHBytes) + x; p= p; }
DIB는 Y좌표가 상위로 갈수록 증가한다는 사실을 유의합니다.
먼저 얻어온 path에 따라서 이미지를 메모리에 로드하고, 그 핸들을 저장합니다.
그리고 핸들을 이용해서 DIBSECTION의 정보 초기화,
24비트(RGB , 8비트-255까지니까-씩.)일때만 p로 픽셀위치를 얻어오고 RGBTRIPLE을 이용해 그 RGB값을 얻어옵니다.
이를 응용해서 배열로 받아오는 함수를 작성하면,
RGB_Trip ** makeRGB(DIBSECTION dib,int * height, int * width){ *height = dib.dsBmih.biHeight; *width = dib.dsBmih.biWidth; RGB_Trip ** RGBImage = new RGB_Trip*[*height]; for(int i =0; i < *height; i++){ RGBImage[i] = new RGB_Trip[*width]; } DWORD cbHBytes = HBYTES(dib.dsBmih.biWidth, dib.dsBmih.biBitCount);//cbhbyte : 수평바이트수 if(dib.dsBmih.biBitCount == 24) {//RGB데이터일때만 int im_Height = dib.dsBmih.biHeight; //DIB는 Y좌표가 상위로 갈수록 +. 따라서 높이 - 정상좌표가 바뀐 역방향좌표. //int p = (dib.dsBmih.biWidth * (im_Height-550)) + 270; for(int i = 0; i < *height; i++){ for(int j = 0; j < *width; j++){ int p = dib.dsBmih.biWidth*(im_Height-i)+j; int x = p % dib.dsBmih.biWidth; int y = p / dib.dsBmih.biWidth; RGBTRIPLE* p1 = (RGBTRIPLE*)((LPBYTE)dib.dsBm.bmBits + y * cbHBytes) + x; RGBImage[i][j] = p1; }//j } }//if return RGBImage; }
설정
트랙백
댓글
글
직접 개발한 프로그램 - 친구 위치 찾기
Developed Program/Android
2010. 10. 23. 16:40
20010 년도 5월쯤 프로젝트
개발기간 - 1~3 주..?
사용 플랫폼 - Android OS 1.5
사용 단말기 - Andro One (French Edition)
개발기간 - 1~3 주..?
사용 플랫폼 - Android OS 1.5
사용 단말기 - Andro One (French Edition)
음
Android를 처음 접한건 연구실 처음 들어왔을 때니까,
2년쯤 전인데 그 긴 시간동안 무슨 목적의식을 갖고 만든 프로그램은 없었네요.
(Android 쬐끔 만지다가 와인라벨과 메뉴판 인식에 전념을 다하게 된 것도 그 이유 중 하나라고 생각합니다만)
먼저 안드로이드 공부를 다 끝내고 프로그램 기획을 하자 !
그정도 생각이었을거라 봅니다 .ㅎ
결국 뭔가 프로그램 다운건 이것 뿐이네요 .
프로그램은 .. 간단합니다.
요새 논란이 되고 있는 "오빠믿지 ? " 어플과 목적이 같습니다.
교수님이 처음 제안서를 받고 이런 위치 추적 문제가 되지 않겠냐고 우려하시던 모습이 떠오르네요..
이 어플은 상기 그림을 보시면 아시겠지만 Java로 구현된 서버 프로그램이 제 컴퓨터에 돌고 있어야 구동가능합니다.
고로 마켓에 올린다거나하는 번거로운 일은.. 하지 않았습니다.
프로그램의 구조는 다음과 같습니다.
서버, 앱 모두 스레드가 다중이라는 점에서 유발되는 Handling,
서버와의 통신을 담당하는 액티비티를 하나만 만들었기 때문에
( 한번의 Connection의 Close , Open을 괜히 복수로 하고 싶지 않았습니다. 연결이 불안정 할테니까요.. )
각 Activity 간의 통신으로 여러 정보를 주고 받아야 되는 점에서 유발되는 PutExtra, BR 등이 조금 번거롭게 만들긴 했죠.
내 위치는 햄토리로, 친구 위치는 햄토리 여자친구로 나왔는데,
역시 제가 마켓에 출시할 생각이 전혀없었기 때문에 문제 없었습니다.
주요기능은
1. 내 주소록 DB에 Access, 친구목록을 가져옴
2. 친구와 대화 가능
3. 친구와 통화 가능
4. 친구와 문자 가능
5. 귀여운 햄토리로 내 위치 확인
6. 귀여운 햄토리 여자친구로 친구 위치 확인
다음은 구동 이미지입니다.
핸드폰을 들고있는 사람(햄토리)는 움직이지 않고 햄토리 여자친구의 이동을 확인 할 수 있습니다.
후에 동영상 첨부 합니다...
'Developed Program > Android' 카테고리의 다른 글
이거슨 심심풀이 프로젝트 ? - Geng's Minihome (2) | 2010.11.12 |
---|
설정
트랙백
댓글
글
넥서스원 , 2.2.1 업데이트
도움될지도? IT 정보
2010. 10. 23. 15:49
다른 안드로이드 폰들이 이제 프로요(2.2)로 업데이트가 됐을때!!
넥서스원은 2.2.1 이다 !!
넥서스원 유저분들이 가장 자부심을 가지는 레퍼런스 폰의 최대 강점, 그 어느 안드로이드 단말기보다 빠른 업데이트!
KT쪽에서 구글에서 공급한 2.2.1을 막았다하여 유저 여러분들의 불만이 많았죠.
준비할게 있었다나 ?
10월 22일자로 OTA가 가능하게 되었습니다.
관련 기사 -> http://news.etomato.com/news/etomato_news_read.asp?no=117457
OTA( 기존 방송이 송출중단되거나 신규 방송이 생길때에 수신기 회사에서 변경된 채널자료등을 위성을 통해 자동으로 업그레이드 해주는 기능입니다. )
[출처] OTA란 무엇인가?|작성자 마틴신
사실 저는 SKT에서 KT전용 넥서스원을 사용하는 유저라 뭐 KT에 왈가왈부할 입장도 아니고 ,
OTA 업데이트를 기대한 입장도 아니었는데 오늘 아침에 Notification 으로 "시스템 업데이트가 있습니다" 가 있더군요 ㅎ
냉큼 실행했죠.
넥원이 유저분들이 바라는 업데이트 주 내용은
1. MAC 주소가 00으로 시작하지 않는 넥서스원의 경우 절전모드(스크린이 꺼짐)에 들어가면
와이파이 연결도 함께 끊기는 버그 해결
본인의 맥주소 확인 - 설정 > 휴대전화 정보 > 상태 > Wi-Fi MAC 주소
이 버그때문에 KT 에서 보상차원으로 데이터 1G 무료 제공을 했었죠.
2. 넥서스원의 터치오류 해결
넥서스원 가끔 터치가 엉뚱한데로 먹는 버그가 있습니다.
절전모드로 들어갔다가 다시 켜면 대부분 풀립니다만.
정도 였을까요 ?
다음은 KT에서 공개한 2.2.1의 업데이트 내용입니다.
다음은 hTC로부터 확인한 업그레이드 상세 내용입니다.
1. 기존 해외 롬 (os 2.2.1) (약 4M)
2. 한글 키보드 외 로컬라이징 작업(약 5M)
- 한글 키보드
- 비상전화 설정
- 카메라 설정음 처리 등
3. 퀄컴QSD8250칩 패치 적용 (약 12M)
- Buffer overflow vulnerability in processing of GSM L2 messages
- Buffer overflow vulnerability in PS call accept processing
- Buffer overflow vulnerability in processing Attach Accept message
- Buffer overflow vulnerability in processing Emergency Num List IE in Registration Accept Message
Wi - Fi 버그 수정
http://smartblog.show.co.kr/321
1. 기존 해외 롬 (os 2.2.1) (약 4M)
2. 한글 키보드 외 로컬라이징 작업(약 5M)
- 한글 키보드
- 비상전화 설정
- 카메라 설정음 처리 등
3. 퀄컴QSD8250칩 패치 적용 (약 12M)
- Buffer overflow vulnerability in processing of GSM L2 messages
- Buffer overflow vulnerability in PS call accept processing
- Buffer overflow vulnerability in processing Attach Accept message
- Buffer overflow vulnerability in processing Emergency Num List IE in Registration Accept Message
Wi - Fi 버그 수정
http://smartblog.show.co.kr/321
터치 오류는 다음 패치에 적용할 예정이라합니다.
wifi 버그는 완벽히 수정되었다고 하는데 몇몇 유저분들 포털에서 보면 가끔씩 또 끊기곤 한다고합니다.
(그래도 대부분은 훨씬 나아졌다고 합니다. 저는 아직 끊기는 현상을 발견하지 못했구요._)
3의 퀄컴칩 패치 덕분인지,
1. 갤러리 딜레이 감소
2. 웹서핑 속도 증가
3. SD 카드 로딩 속도 개선
등이 느껴집니다.!
또 Youtube 어플이 다운로드 되지 않았는데 이제 된다고 하죠 !
0.0.1 업데이트 치고는 많은 점들이 개선된거 같습니다.
아직까지 notification이 뜨지 않은 분은
전화걸기 창에서
*#*#2432546#*#*
명령어를 치면 시스템 확인을 한다고 합니다.이 점은 제가 직접 실행해 보지 않았기 때문에 장담은 못드리겠군요.
'도움될지도? IT 정보' 카테고리의 다른 글
2010 년도 ACM - ICPC (2) | 2011.09.30 |
---|---|
Tap Sonic 3배속 6키 , 넌 내게 반했어 올콤보 (2) | 2011.01.31 |
Android 기본 내장 이메일 어플리케이션에서 계정 설정하기 (0) | 2010.10.23 |
스마트 폰이란? (1) | 2010.09.09 |