2015년 8월 21일 금요일

이미지 프로세싱에서 메모리 증가 현상에 대해

라인스캔에서 불러들인 이미지를 뿌려주는 소스에서 계속 3000번 돌리면 죽고, 10K번 돌려도 죽어서 원인을 보니 메모리 증가에 있던 것 같았다. 그래서 VirtualMemory를 할당하고 해제하는 코드에서 문제가 생겼다. 나머지는 CxImage를 써봐도 그렇고,  Pallete를 사용해도 그래서 결국 여기까지 왔다.

While( )
{
 BYTE c = 1;
 BYTE *DataArray = NULL;
// DataArray = (BYTE*)malloc(sizeof(BYTE)*(width * height)*c);
 DataArray = (BYTE*)VirtualAlloc(NULL, sizeof(BYTE)*(width * height)*c,
  MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE); //복사될 픽셀데이터 메모리 크기 선언
 BOOL bVL = VirtualLock(DataArray, sizeof(BYTE)*(width * height)*c);  // 4K 씩 증가?????
    memset(DataArray, 255, sizeof(BYTE)*(width * height)*c);
.............


 //free(DataArray);
 //If the dwFreeType parameter is MEM_RELEASE, this parameter must be 0 (zero).
 //The function frees the entire region that is reserved in the initial allocation call to VirtualAlloc 
 VirtualFree(DataArray, sizeof(BYTE)*(width * height)*c, MEM_DECOMMIT); //Memery free
 VirtualFree(DataArray, 0, MEM_RELEASE ); //MEM_DECOMMIT); //Memery free 완전하지 않다.
}
의 루프를 돌려보았다. 먼저.

VirtualFree(p, lSize, MEM_COMMIT);

위의 함수 리턴 값 확인해 보셨습니까? 함수 호출에 실패해서 메모리 해제가 안되는 것 같습니다.
MEM_DECOMMIT 상태는 완전히 메모리가 Release된 상태는 아닙니다.
참고하시기 바랍니다.


if(!VirtualFree(p, lSize, MEM_RELEASE );) {
    AfxMessageBox("Memeory release failed!");
}

이런 식으로 바뀌어야 할 것 같습니다.

또, 올라간다.

MSDN
If the dwFreeType parameter is MEM_RELEASE, this parameter must be 0 (zero). The function frees the entire region that is reserved in the initial allocation call to VirtualAlloc

    VirtualFree(p, 0, MEM_RELEASE);

파라미터를 zero로 두어야 한다고 ㅋㅋ

2015년 8월 7일 금요일

2015년 2월 24일 화요일

영화같은 현실 - 레미제라블과 니키타 오리진

24일 오후 경찰청이 운영하는 페이스북 페이지 ‘폴인러브’에 사진과 함께 글이 하나 올라왔다. “여기 마트인데요. 물건을 훔치려는 학생이 있어요”라는 멘트로 시작되는 글이었다. 절도 사건이었지만, 이야기를 풀어보니 따뜻한 사연이 담겨 있는 것으로 알려지면서 누리꾼들에게 잔잔한 감동을 주고 있다. 설 연휴 전날인 지난 17일, 전북 익산시 신동의 한 마트에서 벌어진 일이다.

지난 17일 저녁 6시50분, 112로 절도 사건 신고 전화가 걸려왔다. 인근에서 근무하던 익산경찰서 신동지구대 소속 박완근(50) 경위는 현장을 찾아갔다. 박 경위는 절도범이 성인이라고 생각했다. 그가 마트에 들어섰을 때 학원 가방을 메고 서있는 한 여학생이 눈물을 흘리고 있었다. 여학생은 마트 인근 학원에 다니는 초등학교 1학년생 ㅇ아무개양이었다.

ㅇ양은 마트에 들를 때마다 사탕이 진열된 매대를 기웃거렸지만 사탕을 구입한 적은 없었다. 마트 주인인 박아무개씨는 훈계 차원에서 경찰에 신고했다고 했다. 평소 사탕 박스가 자주 없어지는 것을 수상히 여긴 주인은 CCTV를 돌려보게 됐다. 화면엔 매번 똑같은 옷을 입고 마트에 찾아온 ㅇ양이 사탕을 가방에 넣는 장면이 고스란히 담겨 있었다. 박씨는 어린 학생이 호기심에 벌인 행동이라고 생각해 몇 차례 그냥 넘어갔다.

17일에도 ㅇ양은 똑같은 옷을 입고 마트에 들어왔다. 사탕 매대 앞을 전전하던 ㅇ양에게 박씨는 지난번에도 사탕을 가져가지 않았냐고 물었다. ㅇ양은 고개를 흔들며 아니라고 답했다.

박씨는 “처음부터 사탕이 먹고 싶다고 했다면 그냥 줬을 텐데 이런 일이 반복되면 아이에게 좋지 않을 것 같아서 부모한테 연락하려고 했더니 할머니와 산다는 얘기만 했다”며 “아이가 다시 이런 일을 하지 않게 다짐을 받을 사람도 없고 해서 경찰에 신고하게 됐다”고 설명했다. 박 경위는 학생이 메고 있던 학원 가방을 보고 학원으로 찾아갔다. 학원장을 통해 보호자인 할머니에게 전화를 걸었다. 그제야 ㅇ양의 가족 사정을 알게 됐다.

ㅇ양의 가족은 할머니와 위로 6살 많은 언니까지 모두 셋뿐이다. ㅇ양의 어머니는 4년 전 돌연사로 세상을 떠났다. 직업군인이었던 아버지는 10년쯤 퇴직한 뒤 제대로 된 일자리를 얻지 못했다. 군산의 자동차 부품회사와 닭고기 제조 회사 등을 전전했지만 이마저도 오래 다니지 못했다. 두 딸을 어머니에게 맡기고 집을 떠난 ㅇ양의 아버지는 현재 연락이 닿지 않는 상태다.

ㅇ양의 가족은 암투병으로 고생하다 지난해 돌아가신 할아버지의 보험금으로 근근이 생계를 이어왔다. 그나마도 얼마 남지 않아 경제적 위기에 처한 상태다. 박 경위는 마트 주인인 박씨에게 이런 사정을 설명하고 ㅇ양을 타일러 집으로 보냈다. 박씨도 “비슷한 또래 딸을 키우고 있는 상황에서 마음이 참 아팠다”고 말했다.
 
본격적인 설 연휴가 시작된 18일 오후 박 경위는 출근길에 마트에 다시 들렀다. 그는 “어린 아이가 사탕이 얼마나 먹고 싶었으면 그랬을까 싶어서 주인에게 아이가 좋아하는 사탕이 어떤 사탕인지 물어보고 사서 가지고 갔다”며 “다음날이 설날이고 해서 사과 한 박스와 아이들이 좋아하는 과자, 요거트도 사서 잠깐 찾아가서 준 것일 뿐”이라고 말했다. 마트 주인도 여러 종류의 과자가 담긴 종합선물세트를 ㅇ양에게 전해달라며 박 경위 손에 들려줬고, 이 역시 ㅇ양 자매에게 전달됐다.

박 경위가 ㅇ양을 다시 만났을 때 잠시 어색해 하기도 했지만 두 사람은 새끼손가락을 걸고 한 가지 약속을 했다.

박 경위는 “아이가 다시는 남의 물건을 훔치지 않고 공부도 열심히 하기로 약속했다”면서 “제가 바쁘면 한 달에 한 번씩 오고, 안 바쁘면 한 달에 두 번씩이라도 찾아와서 공부는 열심히 하는지 할머니 말씀은 잘 듣고 있는지 물어보겠다고 했더니 학생이 약속을 잘 지키겠다고 다짐했다”고 말했다.

대학생인 딸과 고등학생 아들을 둔 박 경위는 <한겨레>와의 통화에서 “아이들을 키우는 부모라면 그냥 지나칠 수 없는 일”이라고 했다. 그는 “깡촌에서 나고 자라다 보니 소풍 갈 때나 먹을 수 있는 사탕을 참 좋아했고 사탕 한 알을 얻으면 아껴 먹느라 조금만 먹고 비닐에 보관했다가 다음날 다시 먹었던 기억이 난다”며 “요즘에는 맛있고 좋은 게 많은데 어린 아이가 얼마나 먹고 싶었겠냐”고 말했다.

24일 경찰청 페이스북에서 이 소식을 접한 누리꾼들은 댓글창에 “따끔한 야단도 좋지만 따뜻하게 품어주고 안아줘서 세상이 따뜻하다는 걸 깨우치게 하는 게 아이들에게 최고의 교육이다”, “마트 주인도 경찰관도 마음 씀씀이가 참 고맙네요. 이렇게 보살펴주면 그 아이가 성장해서 사회를 보는 눈이 달라집니다”, “다행히 아직 이런 분이 계셔서 세상이 따뜻합니다. 머리가 아닌 가슴으로 살아가시는 분”이라는 등의 의견을 남겼다.


박수진 기자 jjinpd@hani.co.kr

나라가 엄맘이야

2015년 2월 14일 토요일

영화같은 현실 - 누가 내 가족의 욕을 하는가?

14일 서울 수서경찰서에 따르면 강남구 역삼동에서 분식점을 운영하는 신모(53)씨는 한달여 전부터 자신의 가게를 자주 찾던 차모(50)씨와 형님, 동생하며 몇 차례 술을 함께 나눠마셨다.

하지만 차씨는 술을 마시면 신씨 부인의 흉을 보고 분식점에서 만드는 음식이 맛이 없다는 타박을 자주했다. 신씨는 그 때마다 감정이 상했지만 그러려니하고 넘겼다.

지난 12일 밤에도 신씨는 차씨와 함께 자신의 가게에서 술을 나눠 마셨다. 술자리는 자정을 넘겨 이튿날 새벽 2시까지 이어졌다. 술에 취한 차씨는 이날도 신씨의 부인과 음식에 대해 타박을 늘어놨다.

그러던 중 차씨는 나이가 많은 신씨에게 “능력도 없으면서 주제 파악을 못한다”는 말을 내뱉고는 잠을 자기 위해 가게 한켠에 마련된 내실로 들어갔다.

화가 난 신씨는 이성을 잃었고 주방에서 흉기를 가져와 내실에서 잠든 차씨를 무려 30여차례나 찔러 숨지게 했다.

- 뉴시스

2015년 2월 10일 화요일

촛점을 맞추지 않아도.

Lytro사의 창업자인 Ren Ng는 2006년 스탠포드대학 박사학위 논문(D I G I T A L  L I G H T  F I E L D  P H O T O  G  R  A  P H Y: https://www.lytro.com/renng-thesis.pdf)으로 이 카메라의 개념을 설명했는데, 미국의 컴퓨터 학회인 ACM(Association for Computing Machinery)의 최고 박사학위 논문상을 받았다.
카메라는 촛점을 맞추는 과정이 없으므로 기존 카메라에 비해 더 빨리 촬영할 수 있고, 여러 방향의 빛 데이터를 수집하므로 3D 사진도 얻을 수 있다고합니다.



무안경 3D 출력장치와 비슷한 원리라고 생각되는데...

2015년 1월 21일 수요일

3D에서 이용하는 뜨리플 스크린

일본의 차량 내 엔터테인먼트 설비 업체인 Fujitsu Ten은 하나의 스크린에 엔터테인먼트와 정보를 동시에 보여줄 수 있는 디스플레이를 출시할 예정이다. 일본시장에만 시판될 이 듀얼 스크린 디스플레이는 하나의 스크린이지만 운전석과 앞자리 좌석에서 서로 다른 이미지를 보게 된다.

도요타는 이미 Fujitsu Ten과 OEM 계약을 맺고 이미 일본 시장에 듀얼 스크린 기능을 제공하기 시작했다. 따라서 추후에 출시되는 도요타 차량에는 이 스크린이 기본적으로 장착될 것으로 보인다.

이 제품은 또한 디지털 TV 튜너를 갖추고 있어 빠른 속도로 주행 시에도 안정된 화면으로 TV를 시청할 수 있으며 30GB 하드 드라이브가 장착되어 있어 MP3 음악을 저장하는데 부족함이 없다.

이 제품은 31만 5,000엔이며 2005년 12월부터 일본시장에 시판될 예정이다.

출처 Gizmag
[KITA '05.10.11]