• 基础结构体

CvPoint int x,y

CvPoint2D32f Float x,y;

CvSize Int width,height

CvRect int x,y,width,height

CvScalar double val[4] 这里为RGBA的值

  • CvMat
typedef struct CvMat {
int type;
int step;
int* refcount; // for internal use only
union {
uchar* ptr;
short* s;
int* i;
float* fl;
double* db;
} data;
union {
int rows;
int height;
};
union {
int cols;
int width;
};
} CvMat;
float vals[] = [1,2,3,4];
cvCreateMat(5,5, CV_32FC1);
CvInitMatHeader {
&Mat, 2, 2, CV_32FC1, vals
}
*( (float*)CV_MAT_ELEM_PTR(*mat, 3, 2) ) = 7.7; // 赋值
cvmSet(mat, 2, 2, 0.5);
double cvGet(mat, 2,2);
  • IplImage
// 对于指定区域进行色彩加强
int main(){
char input[] = "/Users/basasuya/Downloads/1.jpg";
IplImage* src = cvLoadImage(input);
int x,y,width,height,add;
scanf("%d %d %d %d %d",&x,&y,&width,&height,&add);
cvSetImageROI(src, cvRect(x,y,width,height));
cvAddS(src, cvScalar(add), src);
cvResetImageROI(src);
cvNamedWindow("Roi_Add", 1);
cvShowImage("Roi_Add", src);
cvWaitKey();
}
//另一种加强的方式
int main(){
char input[] = "/Users/basasuya/Downloads/1.jpg";
IplImage* src = cvLoadImage(input);
int x,y,width,height,add;
scanf("%d %d %d %d %d",&x,&y,&width,&height,&add);
// cvSetImageROI(src, cvRect(x,y,width,height));
IplImage* cha = cvCreateImageHeader(cvSize(width, height), src->depth, src->nChannels);
cha->origin = src->origin;
cha->widthStep = src->widthStep;
cha->imageData = src->imageData + y* src->widthStep + x* src->nChannels;
cvAddS(cha, cvScalar(add), cha);
cvReleaseImageHeader(&cha);
cvNamedWindow("Roi_add", CV_WINDOW_AUTOSIZE);
cvShowImage("Roi_add", src);
cvWaitKey();
return 0;
}
//将两个图片进行叠加
int main(){
char input1[] = "/Users/basasuya/Downloads/1.jpg";
char input2[] = "/Users/basasuya/Downloads/2.jpg"; IplImage* s1 = cvLoadImage(input1);
IplImage* s2 = cvLoadImage(input2);
int x,y,width,height;
double alpha, beta;
scanf("%d %d %lf %lf",&x,&y,&alpha,&beta);
width = s2->width; height = s2->height;
// cvSetImageROI(src, cvRect(x,y,width,height));
cvSetImageROI(s1, cvRect(x,y,width,height));
cvSetImageROI(s2, cvRect(0,0,width,height));
cvAddWeighted(s1, alpha, s2, beta, 0, s1);
cvResetImageROI(s1);
ShowImg(s1);
return 0;
}

学习Opencv Chat3的更多相关文章

  1. 学习opencv之路(一)

    先看一下<学习opencv> 找几个demo 学会相机标定 我做的是单目相机的标定.

  2. [纯小白学习OpenCV系列]官方例程00:世界观与方法论

    2015-11-11 ----------------------------------------------------------------------------------- 其实,写博 ...

  3. 《学习OpenCV》中求给定点位置公式

    假设有10个三维的点,使用数组存放它们有四种常见的形式: ①一个二维数组,数组的类型是CV32FC1,有n行,3列(n×3) ②类似①,也可以用一个3行n列(3×n)的二维数组 ③④用一个n行1列(n ...

  4. 对人脑处理视觉的描述(摘《学习OpenCV(中文版)》)

    人脑将视觉信号划分入很多个通道,将各种不同的信息输入你的大脑.你的大脑有一个关注系统,会根据任务识别出图像的重要部分,并做重点分析,而其他部分则分析得较少 .在人类视觉流中存在大量的反馈,但是目前我们 ...

  5. 《学习OpenCV》练习题第五章第二题abc

    代码: #include <stdio.h> #include <opencv/highgui.h> #include <opencv/cv.h> #include ...

  6. 《学习OpenCV》练习题第五章第一题ab

    这道题是载入一幅带有有趣纹理的图像并用不同的模板(窗口,核)大小做高斯模糊(高斯平滑),然后比较用5*5大小的窗口平滑图像两次和用11*11大小的窗口平滑图像一次是否接近相同. 先说下我的做法,a部分 ...

  7. 《学习OpenCV》练习题第四章第八题ab

    这道题是利用OpenCV例子程序里自带的人脸检测程序,做点图像的复制操作以及alpha融合. 说明:人脸检测的程序我参照了网上现有的例子程序,没有用我用的OpenCV版本(2.4.5)的facedet ...

  8. 《学习OpenCV》练习题第四章第三题b

    #include <highgui.h> #include <cv.h> #include "opencv_libs.h" /* *<学习OpenCV ...

  9. 《学习OpenCV》练习题第四章第三题a

    #include <highgui.h> #include <cv.h> #include "opencv_libs.h" #pragma comment ...

随机推荐

  1. SaltStack 与 Python 程序的结合

    SaltStack 库中的 Modules: 在 SaltStack 中,每个子系统插件(plug-in)都是一个 Python Module.因此,SaltStack 库中的 Module 可以看作 ...

  2. Nginx与Tomcat/PHP架构优化的技术分享

    PHP性能优化 一般我们是在/usr/local/php5/etc/php-fpm.conf这个文件里面进行相应的配置. 1)       如果设置成static,php-fpm进程数自始至终都是pm ...

  3. 奥酷流媒体服务系统AMS5.0

      2016年6月29日,北极星通对外发布AMS5.0版本,AMS是北极星通公司独立研发的高性能流媒体服务系统软件,可广泛应用于视频直播,视频点播,视频转码,视频录播等场合. AMS5.0增加功能: ...

  4. 基于Centos7的autobahn-python+crossbar的环境搭建

    一.基于centos7的crossbar安装(已经安装好python) (1) sudo yum update (2) sudo yum install gcc gcc-c++ make openss ...

  5. WebView性能优化--独立进程

    Android允许一个app同时存在多个进程,可以根据需要把不同的模块放到不同进程中处理. 一.WebView独立进程的好处 1.有效增大App的运存,减少由webview引起的内存泄露对主进程内存的 ...

  6. ASP.NET Core 使用 URL Rewrite 中间件实现 HTTP 重定向到 HTTPS

    在传统 ASP.NET 程序中,我们可以通过配置 IIS 的“URL 重写”功能实现将 HTTP 请求重定向为 HTTPS .但是该方法在 ASP.NET Core 应用中不再工作.在 ASP.NET ...

  7. tomcat使用cookies缓存的时候中文报错解决办法 java.lang.IllegalArgumentException: Control character in cookie value or attribute.

    报错出现 java.lang.IllegalArgumentException: Control character in cookie value or attribute. at org.apac ...

  8. AJAX跨域完全讲解

    AJAX跨域完全讲解 今天在慕课网上学习了AJAX跨域完全讲解:https://www.imooc.com/learn/947 我在收集AJAX面试题的时候其实就已经有过AJAX跨域的问题的了,当时候 ...

  9. js获取对象长度和名称

    1.对象的长度不能用.length获取,用js原生的Object.keys可以获取到 var obj = {'name' : 'Tom' , 'sex' : 'male' , 'age' : '14' ...

  10. NTP 时间同步协议

    http://www.faqs.org/rfcs/rfc1305.html port:123