이미지 반전하기 (cvNot 함수)
영상 반전 : 영상 최대 명암값에서 각 픽셀의 명암값을 뺀다
c++)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #include <opencv/cv.h> #include <opencv/highgui.h> void main() { IplImage *srcImage = cvLoadImage("D:/study/testimage.jpg", -1), *resultImage; //image 객체생성 resultImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); //이미지 반전 cvNot(srcImage, resultImage); //픽셀로 이미지 반전하기 /* int width = srcImage->width; int height = srcImage->height; int channels = srcImage->nChannels; uchar *srcData = (uchar*)srcImage->imageData; uchar *resultData = (uchar*)resultImage->imageData; for (int h = 0; h < height; h++) { for (int w = 0; w < width; w++) { for (int c = 0; c < channels; c++) { int index = h*width*channels + w*channels + c; resultData[index] = 255 - srcData[index]; } } } */ //create window cvNamedWindow("original", CV_WINDOW_AUTOSIZE); cvNamedWindow("reverse", CV_WINDOW_AUTOSIZE); //show window cvShowImage("original", srcImage); cvShowImage("reverse", resultImage); cvWaitKey(0); //release image cvReleaseImage(&srcImage); cvReleaseImage(&resultImage); } | cs |
결과
'IT > - 프로그래밍' 카테고리의 다른 글
OpenCV RGB이미지를 HSV이미지, 흑백이미지로 변환하기 (cvCvtColor 함수) (0) | 2017.04.15 |
---|---|
OpenCV 이진영상 만들기 (cvThreshold 함수) (0) | 2017.04.14 |
안드로이드 FloatingActionButton 사용하기 (1) | 2017.04.12 |
OpenCV 두 이미지 합성하기(뺄셈 cvSub 함수) (0) | 2017.04.11 |
OpenCV 두 이미지 합성하기(덧셈 cvAdd 함수) (1) | 2017.04.10 |