반응형
이번에는 openCV 함수를 사용한 openGL로 랜더링한 그림자가 있는 이미지를 뽑아
그 이미지들을 합치는 프로그래밍이다.
우선 openGL로 하나의 plane을 만들고 그 위에 solid cube를 만들었다.
그리고 x,y,z 를 각각 200만큼 카메라를 이동시킨 후 보이는 장면을 랜더링 했고
그것을 이미지로 뽑았다.
......등등 ( 난 40개의 그림자를 더했다 )
그리고 openCV함수를 써서 각 이미지들의 픽셀값들을 더하는데
그 더한 값들을 이미지의 개수로 나눠준다. 그리고 각 픽셀 값들의 차이가 1이상 차이나면 다른 색으로 랜덤으로 뿌려주는 openCV 함수 floodFillPostprocess 를 사용했다.
........
Mat im1=imread("ScreenShot.png",0);
.........
unsigned char* ptr1 =im1.data+im1.cols*y;
.........
unsigned char* resultptr =result.data+3*(result.cols*y);
for(int x =0;x<width; x++)
{
resultptr[3*x+0]=(ptr1[x]+ptr2[x]+.........../n //개수만큼 나눠주고 저장.
.........
floodFillPostprocess(result,Scalar::all(1)); // 1만큼 차이나게 만들고 랜덤으로 색을 채워주는 함수
.........
imshow("result",result);
반응형
'Computer Vision' 카테고리의 다른 글
히스토그램(histogram building) (12) | 2014.06.06 |
---|---|
보간(Interpolation)이란 (0) | 2014.04.09 |
openCV를 사용한 그림자 threshold 그림자 뽑아내기 (0) | 2014.03.13 |
허프 변환(Hough transform)이란 (0) | 2014.03.12 |
영상 압축(Image Compression) 손실 부호화(lossy coding) (1) | 2014.02.05 |