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);
        }
    }
  • 相关阅读:
    VirtualApp
    python安装包遇到问题解决
    NMS_非极大值抑制的作用
    解释残差结构的有效性
    使用tcpdump命令抓取sql
    linux进程绑定cpu内核
    查询表空间占用情况
    数据库表分区
    Windows下如何使用ab命令做并发测试
    TCP协议
  • 原文地址:https://www.cnblogs.com/chenyang920/p/5355314.html
Copyright © 2011-2022 走看看