코코야이야기
소스코드 //마우스 이벤트 처리 //마우스 왼쪽버튼 파란원, 오른쪽버튼 빨간원 #include "cv.h" #include "highgui.h" void on_mouseEvent (int event, int x, int y, int flags, void* param); int main() { IplImage *dstImage; dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3); cvSet(dstImage, CV_RGB(255,255,255)); cvNamedWindow("Mouse Event Handling",CV_WINDOW_AUTOSIZE); cvShowImage("Mouse Event Handling", dstImage); cvSetMouseCa..
소스코드 //키보드 이벤트 #include "cv.h" #include "highgui.h" int main() { IplImage *dstImage; dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3); cvSet(dstImage, CV_RGB(255,255,255)); CvFont font; cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1.0,1.0,0,3); //cvInitFont(폰트포인터,폰트이름,가로장평(1,0이 그대로),세로장평(1.0이 그대로),기울기(디폴트는 0),두께,타입) cvPutText(dstImage,"Push the ESC button for exit",cvPoint(30,100),&font,CV_..
소스코드 //문자열출력 #include "cv.h" #include "highgui.h" int main() { IplImage *dstImage; dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3); cvSet(dstImage, CV_RGB(255,255,255)); CvFont font; cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1.0,1.0,0,3); //cvInitFont(폰트포인터,폰트이름,가로장평(1,0이 그대로),세로장평(1.0이 그대로),기울기(디폴트는 0),두께,타입) cvPutText(dstImage,"Hello World!!",cvPoint(100,100),&font,CV_RGB(100,200,250)..
소스코드 //다각형 그리기 및 채우기 #include "cv.h" #include "highgui.h" int main() { IplImage *dstImage; dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3); cvSet(dstImage, CV_RGB(255,255,255)); CvPoint pts1[4] = {{100,100}, {200,100}, {200,200}, {100,200}}; CvPoint pts2[3] = {{300,200}, {400,100}, {400,200}}; CvPoint *polygon[2] = {pts1,pts2}; int npts[2] = {4,3}; //open polyine cvPolyLine(dstImage, p..
소스코드 //타원그리기 #include "cv.h" #include "highgui.h" int main() { IplImage *dstImage; dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3); cvSet(dstImage, CV_RGB(255,255,255)); cvLine(dstImage, cvPoint(50,200), cvPoint(450,200), CV_RGB(0,255,0)); cvLine(dstImage, cvPoint(250,100), cvPoint(250,300), CV_RGB(0,255,0),2); cvEllipse(dstImage, cvPoint(250,200), cvSize(200,100), 0,0,360,CV_RGB(0,0,2..
소스코드 //원그리기 #include "cv.h" #include "highgui.h" int main() { IplImage *dstImage; dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3); cvSet(dstImage, CV_RGB(255,255,255)); cvRectangle(dstImage, cvPoint(100,100), cvPoint(400,400), CV_RGB(255,0,0)); cvLine(dstImage, cvPoint(250,100), cvPoint(250,400), CV_RGB(0,255,0)); cvLine(dstImage, cvPoint(100,250), cvPoint(400,250), CV_RGB(0,255,0)); c..
소스코드 //라인, 사각형 그리기 #include "cv.h" #include "highgui.h" int main() { IplImage *dstImage; dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3); cvSet(dstImage, CV_RGB(255,255,255)); //=cvSet(dstImage, cvScalarAll(255); cvRectangle(dstImage, cvPoint(100,100), cvPoint(400,400), CV_RGB(255,0,0)); cvLine(dstImage, cvPoint(400,100), cvPoint(100,400), CV_RGB(0,255,0)); //cvLine(이미지,좌표,좌표,색깔,두께(디폴트..
소스코드 //두이미지 합치기 , 함수사용x, 두이미지의 크기가 같아야만 가능 #include #include void main() { IplImage *sum_image=0, *image1=0, *image2=0; uchar *sum_data, *data1, *data2; int height1, width1, channels1; int i, j; //이미지 생성 image1=cvLoadImage("배경.jpg", -1); image2=cvLoadImage("test.jpg", -1); sum_image = cvCreateImage( cvGetSize(image1), 8, 3); //데이터 정보 저장 data1 = (uchar *)image1->imageData; data2 = (uchar *)image2..
소스코드 //두이미지 합치기 , 함수사용, 두이미지의 크기가 같아야만 가능 #include #include void main() { IplImage *sum_image=0, *image1=0, *image2=0; image1=cvLoadImage("test.jpg", -1); image2=cvLoadImage("배경.jpg", -1); sum_image = cvCreateImage( cvGetSize(image2), 8, 3); cvAdd(image1, image2, sum_image, NULL); cvNamedWindow("Image 1", CV_WINDOW_AUTOSIZE); cvNamedWindow("Image 2", CV_WINDOW_AUTOSIZE); cvNamedWindow("Sum Image..
소스코드 //사진 명암 조절, 함수를 사용하지 않고 #include #include #include void main() { IplImage* image = 0; IplImage* bright_image = 0; IplImage* dark_image = 0; int height, width, channels, i, j; uchar *data, *data1, *data2; image = cvLoadImage("night.jpg",-1); height=image->height; width=image->width; channels=image->nChannels; data=(uchar*)image->imageData; //data가 uchar* 타입이라 (uchar*)타입으로 강제로 캐스트 해줘야함 //영상만들..