博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
点击图像获取RGB
阅读量:6094 次
发布时间:2019-06-20

本文共 2645 字,大约阅读时间需要 8 分钟。

直接代码:

/*===============================================//功能:OpenCV Utility: Reading Image Pixels Value时间:4/4/2011 SkySeraph HQU//===============================================*/#include "iostream"#include "math.h"#include "cv.h"#include "highgui.h"using namespace std;/*=============================================*/void mouseHandler(int event, int x, int y, int flags, void* param){    IplImage* img0, * img1;        img0 = (IplImage*) param;    img1 = cvCloneImage(img0);    /*-------------cvInitFont-------------------//    //功能:初始化字体结构体    //原型:void cvInitFont(         CvFont* font, //被初始化的字体结构体        int font_face,//字体名称标识符            $ CV_FONT_HERSHEY_SIMPLEX - 正常大小无衬线字体。             $ CV_FONT_HERSHEY_PLAIN - 小号无衬线字体。             $ CV_FONT_HERSHEY_DUPLEX - 正常大小无衬线字体。( 比CV_FONT_HERSHEY_SIMPLEX更复杂)             $ CV_FONT_HERSHEY_COMPLEX - 正常大小有衬线字体。             $ CV_FONT_HERSHEY_TRIPLEX - 正常大小有衬线字体 ( 比CV_FONT_HERSHEY_COMPLEX更复杂)             $ CV_FONT_HERSHEY_COMPLEX_SMALL - CV_FONT_HERSHEY_COMPLEX 的小译本。             $ CV_FONT_HERSHEY_SCRIPT_SIMPLEX - 手写风格字体。             $ CV_FONT_HERSHEY_SCRIPT_COMPLEX - 比CV_FONT_HERSHEY_SCRIPT_SIMPLEX更复杂。            //这个参数能够由一个值和可选择的CV_FONT_ITALIC字体标记合成,就是斜体字        double hscale,//字体宽度。            //如果等于1.0f,字符的宽度是最初的字体宽度。如果等于0.5f,字符的宽度是最初的字体宽度的一半        double vscale,//字体高度。        double shear=0,//字体的斜度。            //当值为0时 ,字符不倾斜;当值为1.0f时,字体倾斜≈45度,等等。厚度让字母着重显示。函数cvLine用于绘制字母        int thickness=1, //字体笔划的粗细程度        int line_type=8 //字体笔划的类型        );    //--------------------------------------------*/    CvFont font;    uchar* ptr;    char label[20];    cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, .8, .8, 0, 1, 8);    if (event == CV_EVENT_LBUTTONDOWN) //单击左键    {        /* read pixel */        ptr = cvPtr2D(img1, y, x, NULL);//返回指向特殊数组元素的指针 && cvGet2D返回指向特殊数组的元素        /*display the BGR value*/        sprintf(label, "(%d, %d, %d)", ptr[0], ptr[1], ptr[2]);        cvRectangle(            img1,            cvPoint(x, y - 12),            cvPoint(x + 100, y + 4),            CV_RGB(255, 0, 0),            CV_FILLED,             8, 0            );        cvPutText(            img1,            label,            cvPoint(x, y),            &font,            CV_RGB(255, 255, 0)            );        cvShowImage("img", img1);    }}int main(){    IplImage* img= cvLoadImage("F:\\灾后分类图.jpg",1);    assert(img);    /* create a window and install mouse handler */    cvNamedWindow("img", 1);    //  注册鼠标事件    cvSetMouseCallback("img", mouseHandler, (void*)img);    cvShowImage("img", img);    cvWaitKey(0);    /* be tidy */    cvDestroyAllWindows();    cvReleaseImage(&img);    return 0;}

 

 

转载地址:http://ezwza.baihongyu.com/

你可能感兴趣的文章
ASP.Net 使用GridView模板删除一行的用法
查看>>
(十六)字段表集合
查看>>
JPGraph
查看>>
实验二 Java面向对象程序设计
查看>>
------__________________________9余数定理-__________ 1163______________
查看>>
webapp返回上一页 处理
查看>>
新安装的WAMP中phpmyadmin的密码问题
查看>>
20172303 2017-2018-2 《程序设计与数据结构》第5周学习总结
查看>>
(转)HTML的代码(从朋友那转的,看着觉得会有用就转了)
查看>>
eclipse中将一个项目作为library导入另一个项目中
查看>>
Go语言学习(五)----- 数组
查看>>
Android源码学习之观察者模式应用
查看>>
Content Provider的权限
查看>>
416. Partition Equal Subset Sum
查看>>
centos7.0 64位系统安装 nginx
查看>>
数据库运维平台~自动化上线审核需求
查看>>
注解开发
查看>>
如何用 Robotframework 来编写优秀的测试用例
查看>>
Django之FBV与CBV
查看>>
Vue之项目搭建
查看>>