//类型定义
CvPoint point(2, 3);
CvPoint2D32f point1(2, 3);
CvPoint3D32f point2(2, 3);
CvSize size(2, 3);
CvSize2D32f size1(2, 3);
CvRect rect(0, 0, 50, 50);

//mat使用
float x[3][4] = {1, 2, 3, 4, 5, 5, 6};
CvMat *mat = cvCreateMat(3, 4, CV_32FC1);
cvInitMatHeader(mat, 3, 4, CV_32FC1, x);

cvmSet(mat, 2, 3, 123);
for (int i = 0; i < 3; i++){
for (int j = 0; j < 4; j++){
printf("%f ", cvmGet(mat, i, j));
}
printf("\n");
}
CvMat *mat1 = cvCloneMat(mat);
cvReleaseMat(&mat1);
cvReleaseMat(&mat);

//图片使用

{
IplImage *ipl = cvLoadImage("E:\\4.bmp");
const string strWindowName = "123";
cvNamedWindow(strWindowName.c_str(), 1);
cvRectangle(ipl, CvPoint(0, 0), CvPoint(50, 50), Scalar(255, 0, 0), 1);
cvCircle(ipl, CvPoint(100, 100), 20, Scalar(0, 255, 0));
cvLine(ipl, CvPoint(50, 50), CvPoint(100, 100), Scalar(255, 0, 0));
{
CvFont font;
cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC, 1.0, 1.0, 0, 1);
cvPutText(ipl, "123", CvPoint(100, 100), &font, Scalar(255, 255, 0));
CvSize sizeFont;
int nBaseLine = 0;
cvGetTextSize("123", &font, &sizeFont, &nBaseLine);
printf("width = %d  height = %d  line = %d", sizeFont.width, sizeFont.height, nBaseLine);
}
{
//for (int i = 0; i < ipl->height; i++){
//for (int j = 0; j < ipl->width; j++){//打印图像元素
//CvScalar csa = cvGet2D(ipl, i, j);
//printf("(%f,%f,%f) ", csa.val[0], csa.val[1], csa.val[2]);
//}
//printf("\n");
//}

////反转图像
//CvScalar csa;
//int height = ipl->height;
//int width = ipl->width;
//int step = ipl->widthStep;
//int nChannels = ipl->nChannels;
//for (int i = 0; i < height; i++){
//for (int j = 0; j < width; j++){
//for (int k = 0; k < nChannels; k++){
//ipl->imageData[i*step + j*nChannels + k] = 255 - ipl->imageData[i*step + j*nChannels + k];
//}
//}
//printf("\n");
//}
}

IplImage *ipl1 = cvCreateImage(CvSize(ipl->width, ipl->height), ipl->depth, ipl->nChannels);

//IplImage *ipl2 = cvCreateImage(CvSize(ipl->width, ipl->height), IPL_DEPTH_8U, 1);
//cvConvertImage(ipl, ipl1, CV_CVTIMG_FLIP);//垂直翻转
//cvCvtColor(ipl1, ipl2, CV_RGB2GRAY);//将彩色图像转换成灰度图像, 与cvConvertImage不能共用,单独使用,可以看出效果

//cvSobel(ipl, ipl1, 1, 1, 5);
cvSmooth(ipl, ipl1, CV_BLUR, 3, 3, 0);
cvLaplace(ipl, ipl1, 3);

cvShowImage(strWindowName.c_str(), ipl1);
cvSaveImage("E:\\123.bmp", ipl1);
cvResizeWindow(strWindowName.c_str(), ipl1->width, 200);
waitKey(5000);
cvDestroyWindow(strWindowName.c_str());
cvReleaseImage(&ipl);
cvReleaseImage(&ipl1);
//cvReleaseImage(&ipl2);
}

IplImage *ipl3 = cvCreateImageHeader(CvSize(100, 100), IPL_DEPTH_8U, 3);
ipl3 = cvInitImageHeader(ipl3, CvSize(100, 100), IPL_DEPTH_8U, 3);
cvReleaseImageHeader(&ipl3);

CvMemStorage * memstorge = cvCreateMemStorage(100);
char strMemStorage[100] = "123123123";
CvString strTemp = cvMemStorageAllocString(memstorge, strMemStorage, strlen(strMemStorage));
printf("%s\n", strTemp.ptr);
cvClearMemStorage(memstorge);

CvMemStorage *pMem = cvCreateMemStorage(0);
CvSeq *seq = cvCreateSeq(CV_32FC1, sizeof(CvSeq), sizeof(float), pMem);
cvSetSeqBlockSize(seq, 800);
cvClearMemStorage(pMem);
const char *pstr = cvErrorStr(0);
printf("%s\n", pstr);

版权声明:本文为博主原创文章,未经博主允许不得转载。

c++ opencv 入门的更多相关文章

  1. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0 +VS 2013 开发环境配置

    图片太多,具体过程参照: [OpenCV入门教程之一] 安装OpenCV:OpenCV 3.0.OpenCV 2.4.8.OpenCV 2.4.9 +VS 开发环境配置 说下我这边的设置: 选择deb ...

  2. 【OpenCV入门指南】第一篇 安装OpenCV

    http://blog.csdn.net/morewindows/article/details/8225783/ win10下vs2015配置Opencv3.1.0过程详解(转) http://ww ...

  3. 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析(转)

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/20537737 作者:毛星云(浅墨)  ...

  4. OpenCV入门学习笔记

    OpenCV入门学习笔记 参照OpenCV中文论坛相关文档(http://www.opencv.org.cn/) 一.简介 OpenCV(Open Source Computer Vision),开源 ...

  5. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨 ...

  6. OpenCV入门教程

    OpenCV入门教程 作者:于仕琪 OpenCV入门教程.pdf

  7. opencv ,亮度调整【【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整

    http://blog.csdn.net/poem_qianmo/article/details/21479533 [OpenCV入门教程之六] 创建Trackbar & 图像对比度.亮度值调 ...

  8. OpenCV入门之获取验证码的单个字符(二)

      在文章 OpenCV入门之获取验证码的单个字符(字符切割)中,介绍了一类验证码的处理方法,该验证码如下: 该验证码的特点是字母之间的间隔较大,很容易就能提取出其中的单个字符.接下来,笔者将会介绍如 ...

  9. OpenCV 入门

    1.入门攻略[安装用] https://www.cnblogs.com/linshuhe/p/5764394.html 2.VS2017配置opencv教程(超详细!!!) https://blog. ...

  10. opencv入门指南(转载)

    转载链接:http://blog.csdn.net/morewindows/article/details/8426318 网上的总结的一些用openncv的库来做的事: 下面列出OpenCV入门指南 ...

随机推荐

  1. js网页拉起支付宝支付

    js网页唤起支付宝进行支付 在做uni-app项目中,打包成 ios App的时候,为了绕过苹果支付的审核,所以用的 webview 加载支付宝的网页支付,进行付款 具体实现流程: 前端通过 url ...

  2. pgsql数据库 pg_hba.conf 中 METHOD 的说明

    pg_hba.conf 文件是pgsql用于配置访问权限的配置文件,  内容如下: ##############begin#################### #   TYPE    DATABA ...

  3. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:快速浮动

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. JuJu团队1月7号工作汇报

    JuJu团队1月7号工作汇报 JuJu 周六周日放假,所以空了两天~   Scrum 团队成员 今日工作 剩余任务 困难 飞飞 完成data process readme部分 实现三维Dense 无 ...

  5. springboot整合logback集成elk实现日志的汇总、分析、统计和检索功能

    在Spring Boot当中,默认使用logback进行log操作.logback支持将日志数据通过提供IP地址.端口号,以Socket的方式远程发送.在Spring Boot中,通常使用logbac ...

  6. SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus

    [oracle@jtwy02 ~]$ sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.4.0 Production on Sat Oct 13 14:14: ...

  7. Day6-T2

    原题目 给你一个长度为n的序列A,请求出最大的一对数(Ai ,Aj),使Ai&Aj最大. 第一行为n,接下来n行,每一个数表示Ai. 输出最大的“and”. S1: Input: Output ...

  8. CVE-2019-0708 漏洞分析及相关测试

    在CVE-2019-0708公布后几天就已经尝试过复现该漏洞,但借助当时exp并没能成功复现反弹shell的过程遂放弃,故借助这次漏洞复现报告再来尝试复现该漏洞,因为还在大三学习中,有很多知识还没有掌 ...

  9. C++的bitset(位操作使用),转载

    有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值.位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法.标准库提供了bitset类使得处理位集合更容易一些.要使 ...

  10. Day7 - J - Raising Modulo Numbers POJ - 1995

    People are different. Some secretly read magazines full of interesting girls' pictures, others creat ...