《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero
矩阵和图像的操作
(1)cvConvertScale函数
其结构:
void cvConvertScale( //进行线性变换,将src乘scale加上shift保存到dst
const CvArr* src,//原矩阵
CvArr* dst,//结果矩阵
double scale = 1.0,//因子
double shift = 0.0//加权
);
实例程序
#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src2,*src3;
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("7.jpg"); cvConvertScale(src2,src3,4.0,-220.0);
cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
getchar();
return 0;
}
输出结果
(2)cvConvertScaleAbs函数
其结构
void cvConvertScaleAbs( //进行线性变换,将src乘scale加上shift取绝对值保存到dst
const CvArr* src,//原矩阵
CvArr* dst,//结果矩阵
double scale = 1.0,//因子
double shift = 0.0//加权
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src2,*src3;
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("7.jpg"); cvConvertScaleAbs(src2,src3,4.0,-220.5); cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
cvWaitKey();
return 0;
}
输出结果
(3)cvCopy函数
其结构
void cvCopy( //复制像素点
const CvArr* src,//目标矩阵
CvArr* dst,//结果矩阵
const CvArr* mask = NULL//去点开关
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <stdio.h> int main(int argc, char** argv)
{
IplImage *src1, *src2,*src3;
src1=cvLoadImage("5.jpg");
src2=cvLoadImage("3.jpg");
src3=cvLoadImage("7.jpg"); cvCopy(src1,src3,src2);
cvShowImage( "測试1", src1);
cvShowImage( "測试2", src2);
cvShowImage( "測试3", src3);
cvWaitKey();
return 0;
}
输出结果
(4)cvCountNonZero函数
其结构
int cvCountNonZero(//输出非零点的个数,其矩阵须为单通道图像
const CvArr* arr//目标矩阵
);
实例代码
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace std; int main(int argc, char** argv)
{
IplImage *src1,*dst1,*dst2,*dst3;
src1=cvLoadImage("5.jpg",1);
dst1 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
dst2 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
dst3 = cvCreateImage(cvSize(src1->width, src1->height), IPL_DEPTH_8U, 1);
cvSplit(src1, dst1, dst2, dst3, 0); int count = cvCountNonZero(dst3);
cout << "440*660 = " << 440*660 << "图像的非零点的个数为:"<<endl;
cout << count << "个" <<endl;
getchar();
return 0;
}
输出结果
to be continued
《学习opencv》笔记——矩阵和图像操作——cvConvertScale,cvConvertScaleAbs,cvCopy and cvCountNonZero的更多相关文章
- 《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS
矩阵和图像的操作 (1)cvCalcCovarMatrix函数 其结构 void cvCalcCovarMatrix(计算给定点的均值和协方差矩阵 const CvArr** vects,//给定向量 ...
- 《学习opencv》笔记——矩阵和图像操作——cvSetIdentity,cvSolve,cvSplit,cvSub,cvSubS and cvSubRS
矩阵和图像的操作 (1)cvSetIdentity函数 其结构 void cvSetIdentity(//将矩阵行与列相等的元素置为1.其余元素置为0 CvArr* arr//目标矩阵 ); 实例代码 ...
- 《学习opencv》笔记——矩阵和图像操作——cvAnd、cvAndS、cvAvg and cvAvgSdv
矩阵和图像的操作 (1)cvAnd函数 其结构 void cvAnd( //将src1和src2按像素点取"位与运算" const CvArr* src1,//第一个矩阵 cons ...
- 《学习opencv》笔记——矩阵和图像操作——cvAbs,cvAbsDiff and cvAbsDiffS
矩阵和图像的操作 (1)cvAbs,cvAbsdiff,cvAbsDiffS 它们的结构为: void cvAbs( //取src中元素的绝对值,写到dst中 const CvArr* src, co ...
- 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis
矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...
- 《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor
矩阵和图像的操作 (1)cvCrossProduct函数 其结构 void cvCrossProdust(//计算两个三维向量的叉积 const CvArr* src1, const CvArr* s ...
- opencv笔记2:图像ROI
time:2015年 10月 03日 星期六 12:03:45 CST # opencv笔记2:图像ROI ROI ROI意思是Region Of Interests,感兴趣区域,是一个图中的一个子区 ...
- OpenCV —— 矩阵和图像操作
cvAbs , cvAbsDiff , cvAbsDiffS cvAdd , cvAddS , cvAddWeighted(可添加权重) #include <cv.h> #include ...
- OpenCV利用矩阵实现图像旋转
利用OpenCV的矩阵操作实现图像的逆时针旋转90度操作 代码 Mat src = imread("C:\\Users\\fenggl\\Desktop\\测试.jpg",MREA ...
随机推荐
- 从实际案例聊聊Java应用的GC优化
转自美团点评技术博客:https://tech.meituan.com/jvm_optimize.html 当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步 ...
- Flask获取post提交数据
完成示例 # flask 代码 from flask import Flask,request ... @app.route('/get_tasks',methods=["POST" ...
- 欧拉函数之和(51nod 1239)
对正整数n,欧拉函数是小于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler's totient function.φ函数.欧拉商数等.例如:φ(8) = 4(Phi( ...
- 五、 java中数组
定义数组的两种方式 class myarray1 { public static void main(String[] args) { //1.如何定义一个数组 //1.1数组的声明 String[] ...
- Maven更新POM中的JDK版本(比如更新为JDK1.8)
默认POM如果不指定JDK版本为1.5,而有些项目需要使用泛型这些,就必须使用1.8版本的JDK,所以需要手动修改POM. 而所涉及到的还是插件maven-compiler-plugin,官方参考:h ...
- CopyMemory Move使用笔记
今天群里有人问函数使用问题,我就自己测试一下,顺便学习一下. uses math; procedure TForm2.Button1Click(Sender: TObject); type TTArr ...
- 邁向IT專家成功之路的三十則鐵律 鐵律二十七 IT人夢想之道-實踐
有句話說:「人因夢想而偉大」.身為IT的您不知道夢想為何?是希望能夠環遊世界.開一間咖啡廳.買一部法拉利跑車.買一部重機.中大樂透頭彩.娶心目中的女神當老婆,還是只要明天還能活著就好了.無論您的夢想為 ...
- 更新tensorflow支持GPU时出错
sudo pip install --upgrade tensorflow-gpu Operation not permitted: '/tmp/pip-Sx_vMg-uninstall/System ...
- Unable to connect to the MKS : Failed to connect to server XXXXXX:903
Issue : 通过 vSphere 连接VM控制台的时候, 报错 Unable to connect to the MKS : Failed to connect to server X ...
- jquery的ajax用法
api参见:http://api.jquery.com/jquery.ajax/