ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OpenCV2_book Exam01
    카테고리 없음 2013. 9. 23. 13:14
    반응형

    #include<iostream>

    #include<opencv2\core\core.hpp>

    #include<opencv2\highgui\highgui.hpp>


    cv::Mat Func(); //그레이 영상

    void ShowSize(cv::Mat image); // 영상 사이즈 

    void ShowResult(char* name,cv::Mat image); // 결과 영상 출력


    int main()

    {

    //영상 생성

    cv::Mat image;

    ShowSize(image);

    //영상열기

    image = cv::imread("lion.jpg");

    //성공적으로 열었는지 확인

    if(!image.data)

    {

    std::cout<<"Not found.."<<std::endl;

    }

    //영상 크기 출력

    ShowSize(image);

    //영상띄우기

    ShowResult("원본이미지",image);

    //영상 뒤집기

    cv::Mat result;

    //뒤집기 함수 

    cv::flip(image,result,1);//1 은수평에 대한 양수,0 은 수직,모두 음수

    //결과 띄워보기

    ShowResult("수평으로 뒤집기",image);

    //키입력 기다리기 

    cv::waitKey(0);

    cv::imwrite("result.bmp",result);

    //두개의 새로운 영상 생성

    cv::Mat image02,image03;

    image02 = result;//동일한 데이터를 참조하는 두영상

    result.copyTo(image03);//새로운 복사본이 생성

    //수직으로 뒤집기

    cv::flip(result,result,0);

    //결과 출력

    ShowResult("수직으로 뒤집기 image 2",image02);

    ShowResult("image 3",image03);

    //명암도 영상 가져오기

    cv::Mat gray = Func();

    //결과 출력

    ShowResult("Gray Image",gray);

    //키입력 대기 

    cv::waitKey(0);


    return 1;

    }

    //그레이 영상 

    cv::Mat Func()

    {

    //영상 생성

    cv::Mat ima(240,320,CV_8U,cv::Scalar(100));

    //영상 반환

    return ima;

    }

    // 데이터 사이즈 출력

    void ShowSize(cv::Mat image)

    {

    std::cout<<"size: "<<image.size().height<<","<<image.size().width<<std::endl;

    }

    //결과 출력 함수

    void ShowResult(char* name,cv::Mat image)

    {

    cv::namedWindow(name);//창정의

    cv::imshow(name,image);//원본이미지 보이기

    }



    반응형
Designed by Tistory.