2008년 5월 23일 금요일

오전 10:09

에러 1 : 어떤 연산을 반복 하였을 때 메모리 부족 에러.(메모리 반환이 제대로 이루어 지지 않았음)

oom-killer: gfp_mask=0xd2

DMA per-cpu:

cpu 0 hot: low 14, high 42, batch 7

cpu 0 cold: low 0, high 14, batch 7

Normal per-cpu: empty

HighMem per-cpu: empty

   

Free pages: 1340kB (0kB HighMem)

Active:10941 inactive:3242 dirty:0 writeback:0 unstable:0 free:335 slab:477 mapped:10087 pagetables:46

DMA free:1340kB min:1024kB low:1280kB high:1536kB active:43764kB inactive:12968kB present:65536kB pages_scanned:7199 all_unreclaimable? no

lowmem_reserve[]: 0 0 0

Normal free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no

lowmem_reserve[]: 0 0 0

HighMem free:0kB min:128kB low:160kB high:192kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no

lowmem_reserve[]: 0 0 0

DMA: 37*4kB 19*8kB 3*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1340kB

Normal: empty

HighMem: empty

Swap cache: add 0, delete 0, find 0/0, race 0+0

Free swap = 0kB

Total swap = 0kB

Out of Memory: Killed process 980 (video-capture).

Trying to free nonexistent resource <00000000-000fffff>

Killed

[root@KROBO nfs]$

   

   

파일 정보가 제대로 입력되었는지 확인…

fbvar.xres = 640, yres =480, bpp = 16

nSize =112, ID=0, nChannels = 3, alphaChannel = 0, depth = 8, channelSeq[0]=66, channelSeq[1]=71, channelSeq[2]=82, channelSeq[3]=0,

dataOrder =0, origin = 0, align = 4, width = 160, height=120, imageSize = 57600, widthStep = 480

   

typedef struct _IplImage

{

int nSize; /* sizeof(IplImage) */

int ID; /* version (=0)*/

int nChannels; /* Most of OpenCV functions support 1,2,3 or 4 channels */

int alphaChannel; /* ignored by OpenCV */

int depth; /* pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16S,

IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F are supported */

char colorModel[4]; /* ignored by OpenCV */

char channelSeq[4]; /* ditto */

int dataOrder; /* 0 - interleaved color channels, 1 - separate color channels.

cvCreateImage can only create interleaved images */

int origin; /* 0 - top-left origin,

1 - bottom-left origin (Windows bitmaps style) */

int align; /* Alignment of image rows (4 or 8).

OpenCV ignores it and uses widthStep instead */

int width; /* image width in pixels */

int height; /* image height in pixels */

struct _IplROI *roi;/* image ROI. if NULL, the whole image is selected */

struct _IplImage *maskROI; /* must be NULL */

void *imageId; /* ditto */

struct _IplTileInfo *tileInfo; /* ditto */

int imageSize; /* image data size in bytes

(==image->height*image->widthStep

in case of interleaved data)*/

char *imageData; /* pointer to aligned image data */

int widthStep; /* size of aligned image row in bytes */

int BorderMode[4]; /* ignored by OpenCV */

int BorderConst[4]; /* ditto */

char *imageDataOrigin; /* pointer to very origin of image data

(not necessarily aligned) -

needed for correct deallocation */

}

IplImage;

   

소스

   

printf("nSize =%d, ID=%d, nChannels = %d, alphaChannel = %d, depth = %d, channelSeq[0]=%d, channelSeq[1]=%d, channelSeq[2]=%d, channelSeq[3]=%d, dataOrder =%d, origin = %d, align = %d, width = %d, height=%d, imageSize = %d, widthStep = %d\n", \

src_image->nSize,src_image->ID,src_image->nChannels,src_image->alphaChannel,src_image->depth,src_image->channelSeq[0],src_image->channelSeq[1],src_image->channelSeq[2],src_image->channelSeq[3],\

src_image->dataOrder,src_image->origin,src_image->align,src_image->width,src_image->height,src_image->imageSize,src_image->widthStep);

   

파일 정보 자체는 제대로 입력되어 있음.

   

   

윈도우 어플리케이션에서 실행

무리없이 잘 작동함. 똑같은 코드로 배열을 IplImage로 대입.

   

사용자 삽입 이미지

Threshold

결과값이 나오지 않음

   

EqualizeHist

화면이 지글거리며 노이즈 처럼 나옴.

   

   

윈도우 버전으로 했을때는 다 잘됨.

구현해놓은 RGB배열 to IPL도 문제없이 작동됨.

   

구글 검색을 통해 알게 된 정보에 의해 ./configure옵션에 -enable--static옵션을 추가함으로 정적 라이브러리를 사용하게 하였음. 그래도 안됨.

   

플롯팅 연산 처리 과정에서 문제가 발생함.

   

따라서.. 간단한 mat, cvCvtColor등을 제외하고는 함수가 제대로 작동하지 않음.

   

   

   

윈도 어플로 사각형 판별 완료

원 영상

cvCanny알고리즘 적용

Hough - trans알고리즘 적용

   

Square Sample 프로그램 적용

   

   

신고

'Capstone_졸작 > 작업페이지' 카테고리의 다른 글

영상에서 마커 인식하기  (0) 2008.06.12
Linux 타이머 사용하기  (1) 2008.06.12
임베디드 opencv 처리 에러  (0) 2008.06.12
라인소스분석  (0) 2008.06.12
라인트레이싱  (0) 2008.06.12
Line Trace  (0) 2008.06.12
Posted by Frys

티스토리 툴바