学习Opencv Chat3
- 基础结构体
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的更多相关文章
- 学习opencv之路(一)
先看一下<学习opencv> 找几个demo 学会相机标定 我做的是单目相机的标定.
- [纯小白学习OpenCV系列]官方例程00:世界观与方法论
2015-11-11 ----------------------------------------------------------------------------------- 其实,写博 ...
- 《学习OpenCV》中求给定点位置公式
假设有10个三维的点,使用数组存放它们有四种常见的形式: ①一个二维数组,数组的类型是CV32FC1,有n行,3列(n×3) ②类似①,也可以用一个3行n列(3×n)的二维数组 ③④用一个n行1列(n ...
- 对人脑处理视觉的描述(摘《学习OpenCV(中文版)》)
人脑将视觉信号划分入很多个通道,将各种不同的信息输入你的大脑.你的大脑有一个关注系统,会根据任务识别出图像的重要部分,并做重点分析,而其他部分则分析得较少 .在人类视觉流中存在大量的反馈,但是目前我们 ...
- 《学习OpenCV》练习题第五章第二题abc
代码: #include <stdio.h> #include <opencv/highgui.h> #include <opencv/cv.h> #include ...
- 《学习OpenCV》练习题第五章第一题ab
这道题是载入一幅带有有趣纹理的图像并用不同的模板(窗口,核)大小做高斯模糊(高斯平滑),然后比较用5*5大小的窗口平滑图像两次和用11*11大小的窗口平滑图像一次是否接近相同. 先说下我的做法,a部分 ...
- 《学习OpenCV》练习题第四章第八题ab
这道题是利用OpenCV例子程序里自带的人脸检测程序,做点图像的复制操作以及alpha融合. 说明:人脸检测的程序我参照了网上现有的例子程序,没有用我用的OpenCV版本(2.4.5)的facedet ...
- 《学习OpenCV》练习题第四章第三题b
#include <highgui.h> #include <cv.h> #include "opencv_libs.h" /* *<学习OpenCV ...
- 《学习OpenCV》练习题第四章第三题a
#include <highgui.h> #include <cv.h> #include "opencv_libs.h" #pragma comment ...
随机推荐
- SaltStack 与 Python 程序的结合
SaltStack 库中的 Modules: 在 SaltStack 中,每个子系统插件(plug-in)都是一个 Python Module.因此,SaltStack 库中的 Module 可以看作 ...
- Nginx与Tomcat/PHP架构优化的技术分享
PHP性能优化 一般我们是在/usr/local/php5/etc/php-fpm.conf这个文件里面进行相应的配置. 1) 如果设置成static,php-fpm进程数自始至终都是pm ...
- 奥酷流媒体服务系统AMS5.0
2016年6月29日,北极星通对外发布AMS5.0版本,AMS是北极星通公司独立研发的高性能流媒体服务系统软件,可广泛应用于视频直播,视频点播,视频转码,视频录播等场合. AMS5.0增加功能: ...
- 基于Centos7的autobahn-python+crossbar的环境搭建
一.基于centos7的crossbar安装(已经安装好python) (1) sudo yum update (2) sudo yum install gcc gcc-c++ make openss ...
- WebView性能优化--独立进程
Android允许一个app同时存在多个进程,可以根据需要把不同的模块放到不同进程中处理. 一.WebView独立进程的好处 1.有效增大App的运存,减少由webview引起的内存泄露对主进程内存的 ...
- ASP.NET Core 使用 URL Rewrite 中间件实现 HTTP 重定向到 HTTPS
在传统 ASP.NET 程序中,我们可以通过配置 IIS 的“URL 重写”功能实现将 HTTP 请求重定向为 HTTPS .但是该方法在 ASP.NET Core 应用中不再工作.在 ASP.NET ...
- 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 ...
- AJAX跨域完全讲解
AJAX跨域完全讲解 今天在慕课网上学习了AJAX跨域完全讲解:https://www.imooc.com/learn/947 我在收集AJAX面试题的时候其实就已经有过AJAX跨域的问题的了,当时候 ...
- js获取对象长度和名称
1.对象的长度不能用.length获取,用js原生的Object.keys可以获取到 var obj = {'name' : 'Tom' , 'sex' : 'male' , 'age' : '14' ...
- NTP 时间同步协议
http://www.faqs.org/rfcs/rfc1305.html port:123