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);
        }
    }
  • 相关阅读:
    如何实现基于消息安全验证机制下的username身份验证过程
    Stooge 排序
    严版数据结构题集2.13 & 2.14
    Gnome排序
    严版数据结构题集2.11
    梳排序
    鸡尾酒排序
    C语言如何产生随机数
    Bogo排序
    快排序
  • 原文地址:https://www.cnblogs.com/chenyang920/p/5355314.html
Copyright © 2011-2022 走看看