学习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 ...
随机推荐
- CF341C. Iahub and Permutations [DP 排列]
http://codeforces.com/contest/341/problem/C 题意: 有一个长度为n的排列a,其中有一些位置被替换成了-1.你需要尝试恢复这个排列,将-1替换回数字.求有多少 ...
- python+opencv2相机位姿估计
最近在做基于图像的室内定位方面的研究,于是使用到了百度最新的室内数据库Image-based Localization (IBL) .由于该数据库给出的数据是每幅图像和其对应相机的内外参数和光心投影方 ...
- MySQL中order by排序时,数据存在null咋办
order by排序是最常用的功能,但是排序有时会遇到数据为空null的情况,这样排序就会乱了,这里以MySQL为例,记录我遇到的问题和解决思路. 问题: 网页要实现table的行鼠标拖拽排序,我用A ...
- Centos7新功能
Centos7 单用户模式 centos7里不再有0-6启动级别,而是4个target graphical.target 多人模式,支持图形和命令行两种登录,对应之前的3,5级别 mul ...
- 如何知道你的linux是什么时候安装的
在安装系统时,每个分区下都会有一个 lost+found,而且这个目录的创建时间是和该分区创建的时间一样的.所以如果想知道你的系统是什么时候安装的,只需要看这个目录的创建时间即可. 通常情况下,我们分 ...
- OpenCV亚像素角点cornerSubPixel()源代码分析
上一篇博客中讲到了goodFeatureToTrack()这个API函数能够获取图像中的强角点.但是获取的角点坐标是整数,但是通常情况下,角点的真实位置并不一定在整数像素位置,因此为了获取更为精确的角 ...
- 【学习笔记】Spring中的BeanFactory和ApplicationContext 以及 Bean的生命周期(Y2-3-2)
BeanFactory和ApplicationContext Spring的IoC容器就是一个实现了BeanFactory接口的可实例化类. Spring提供了两种不同的容器: 一种是最基本的Bean ...
- 想想我们能拿HoloLens 做点什么
作为一个微软员工,顿时感觉好了很多. 中午吃饭同事们热烈讨论这东东: 1. 看电视 2. 办公 3. 用HoloLens 玩3d 游戏.满公园跑. 4. 看书 5. 开车的时候,实时显示地图 6. 一 ...
- sphinx初识
sphinx(SQL Phrase Index),查询词组索引. 定义:Sphinx是一个全文检索引擎. 特性: 1.高速索引 (在新款CPU上,近10 MB/秒); 2.高速搜索 (2-4G的文本量 ...
- UVA - 11270 轮廓线DP
其实这题还能用状压DP解决,可是时间达到2000ms只能过掉POJ2411.状压DP解法详见状压DP解POJ2411 贴上POJ2411AC代码 : 2000ms 时间复杂度h*w*(2^w)*(2^ ...