zoukankan      html  css  js  c++  java
  • opencv第四章

    2.创建一个程序,使其读入并显示图片。当前用户鼠标点击图像时,获得图像的对应像素的颜色值(BGR),并在图像上点击鼠标处用文本将颜色显示出来。

    对于练习在三幅画中任意地方点击鼠标,将当前图像的坐标显示于点击鼠标处。

    #include <cv.h>
    #include <highgui.h>
    void my_mouse_callback(int event, int x, int y, int flag, void* param);
    
    int main()
    {
        IplImage *img = cvLoadImage("3.jpg", 1);
        assert(img);
        cvNamedWindow("main", 1);
        cvSetMouseCallback("main", my_mouse_callback, img);
        my_mouse_callback(0, 0, 0, 0, img);
        cvWaitKey();
        cvReleaseImage(&img);
        cvDestroyWindow("main");
    }
    void my_mouse_callback(int event, int x, int y, int flag, void* param)
    {
        IplImage *image = (IplImage*)param;
        IplImage *image1 = cvCloneImage(image);
        CvFont font;
        uchar *ptr;
        char label[20]; 
        cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, 1.0, 1.0, 0, 1, 8); //对于显示像素的字体进行设定
        if (event == CV_EVENT_LBUTTONDOWN)
        {
            ptr = cvPtr2D(image1, y, x, NULL);
            sprintf(label, "(%d,%d)", y, x);
            cvRectangle(image1, cvPoint(x, y - 12), cvPoint(x + 100, y + 4), CV_RGB(255, 255, 255), CV_FILLED, 8, 0);
            cvPutText(image1, label,cvPoint(x, y), &font, CV_RGB(0, 0, 0));
            cvShowImage("main", image1);
        }
    }
  • 相关阅读:
    11.10 日志
    1120day户别确认
    10.28代码
    hdu 1695 GCD (莫比乌斯反演)
    8月19日
    多态在子父类中的成员上的体现的特点
    JAVA学习日报 10/29
    JAVA学习日报 10/26
    JAVA学习日报 11/2
    JAVA学习日报 10/30
  • 原文地址:https://www.cnblogs.com/chenyang920/p/5355314.html
Copyright © 2011-2022 走看看