当前位置: 首页 > news >正文

一个网站里面只放一个图片怎么做的wordpress插件买免费

一个网站里面只放一个图片怎么做的,wordpress插件买免费,wordpress优秀案例,专业性行业网站有哪些OpenCV的基本矩阵操作与示例OpenCV中的矩阵操作非常重要#xff0c;本文总结了矩阵的创建、初始化以及基本矩阵操作#xff0c;给出了示例代码#xff0c;主要内容包括#xff1a;创建与初始化矩阵加减法矩阵乘法矩阵转置矩阵求逆矩阵非零元素个数矩阵均值与标准差矩阵全局…OpenCV的基本矩阵操作与示例OpenCV中的矩阵操作非常重要本文总结了矩阵的创建、初始化以及基本矩阵操作给出了示例代码主要内容包括创建与初始化矩阵加减法矩阵乘法矩阵转置矩阵求逆矩阵非零元素个数矩阵均值与标准差矩阵全局极值及位置其他矩阵运算函数列表1. 创建与初始化矩阵1.1 数据类型建立矩阵必须要指定矩阵存储的数据类型图像处理中常用的几种数据类型如下[cpp] view plain copyCV_8UC1// 8位无符号单通道  CV_8UC3// 8位无符号3通道  CV_8UC4  CV_32FC1// 32位浮点型单通道  CV_32FC3// 32位浮点型3通道  CV_32FC4  包括数据位深度8位、32位数据类型U:uchar、F:float型以及通道数C1单通道、C3三通道、C4四通道。1.2 基本方法我们可以通过载入图像来创建Mat类型矩阵当然也可以直接手动创建矩阵基本方法是指定矩阵尺寸和数据类型[cpp] view plain copy// 基本方法      cv::Mat a(cv::Size(5,5),CV_8UC1); // 单通道      cv::Mat b  cv::Mat(cv::Size(5,5),CV_8UC3); //3通道每个矩阵元素包含3个uchar值      couta   endlaendlendl;      coutb   endlbendlendl;      system(pause);  运行结果3通道矩阵中一个矩阵元素包含3个变量。1.3 初始化方法上述方法不初始化矩阵数据因此将出现随机值。如果想避免这种情况可使用Mat类的几种初始化创建矩阵的方法[cpp] view plain copy// 初始化方法      cv::Mat mz  cv::Mat::zeros(cv::Size(5,5),CV_8UC1); // 全零矩阵      cv::Mat mo  cv::Mat::ones(cv::Size(5,5),CV_8UC1);  // 全1矩阵      cv::Mat me  cv::Mat::eye(cv::Size(5,5),CV_32FC1);  // 对角线为1的对角矩阵      coutmz  endlmzendlendl;      coutmo  endlmoendlendl;      coutme  endlmeendlendl;  运行结果2. 矩阵运算2.1 基本概念 OpenCV的Mat类允许所有的矩阵运算。2.2 矩阵加减法我们可以使用和-符号进行矩阵加减运算。[cpp] view plain copycv::Mat a Mat::eye(Size(3,2), CV_32F);  cv::Mat b Mat::ones(Size(3,2), CV_32F);  cv::Mat c ab;  cv::Mat d a-b;  2.3 矩阵乘法使用*号计算矩阵与标量相乘矩阵与矩阵相乘必须满足矩阵相乘的行列数对应规则[cpp] view plain copyMat m1 Mat::eye(2,3, CV_32F); //使用cv命名空间可省略cv::前缀下同  Mat m2 Mat::ones(3,2, CV_32F);  coutm1   endlm1endlendl;  coutm2   endlm2endlendl;  // Scalar by matrix  cout  \nm1.*2  \n  m1*2  endl;  // matrix per element multiplication  cout  \n(m12).*(m13)  \n  (m11).mul(m13)  endl;  // Matrix multiplication  cout  \nm1*m2  \n  m1*m2  endl;  2.4 矩阵转置矩阵转置是将矩阵的行与列顺序对调第i行转变为第i列形成一个新的矩阵。OpenCV通过Mat类的t()函数实现。[cpp] view plain copy// 转置      Mat m1 Mat::eye(2,3, CV_32F);        Mat m1t  m1.t();      coutm1   endlm1endlendl;      coutm1t   endlm1tendlendl;      system(pause);  运行结果2.5 求逆矩阵逆矩阵在某些算法中经常出现在OpenCV中通过Mat类的inv()方法实现[cpp] view plain copy// 求逆      Mat meinv  me.inv();      coutme   endlmeendlendl;      coutmeinv  endlmeinvendlendl;      system(pause);  运行结果单位矩阵的逆就是其本身。2.6 计算矩阵非零元素个数计算物体的像素或面积常需要用到计算矩阵中的非零元素个数OpenCV中使用countNonZero()函数实现。[cpp] view plain copy// 非零元素个数      int nonZerosNum  countNonZero(me); // me为输入矩阵或图像      coutme   endlmeendl;      coutme中非零元素个数  nonZerosNumendlendl;      system(pause);  运行结果2.7 均值和标准差OpenCV提供了矩阵均值和标准差计算功能可以使用meanStdDev(src,mean,stddev)函数实现。参数src – 输入矩阵或图像mean – 均值OutputArraystddev – 标准差OutputArray[cpp] view plain copy// 均值方差      Mat mean;      Mat stddev;      meanStdDev(me, mean, stddev); //me为前文定义的5×5对角阵      coutmean  meanendl;      coutstddev  stddevendl;      system(pause);  运行结果需要说明的是如果src是多通道图像或多维矩阵则函数分别计算不同通道的均值与标准差因此返回值mean和stddev为对应维度的向量。[cpp] view plain copyMat mean3;  Mat stddev3;  Mat m3(cv::Size(5,5),CV_8UC3,Scalar(255,200,100));  coutm3   endlm3endlendl;  meanStdDev(m3, mean3, stddev3);  coutmean3  mean3endl;  coutstddev3  stddev3endl;  system(pause);  多通道矩阵运算结果2.8 求最大最小值求输入矩阵的全局最大最小值及其位置可使用函数[cpp] view plain copyvoid minMaxLoc(InputArray src, CV_OUT double* minVal,                             CV_OUT double* maxVal0, CV_OUT Point* minLoc0,                             CV_OUT Point* maxLoc0, InputArray masknoArray());  参数src – 输入单通道矩阵图像.minVal – 指向最小值的指针 如果未指定则使用NULLmaxVal – 指向最大值的指针 如果未指定则使用NULLminLoc – 指向最小值位置2维情况的指针 如果未指定则使用NULLmaxLoc – 指向最大值位置2维情况的指针 如果未指定则使用NULLmask – 可选的蒙版用于选择待处理子区域[cpp] view plain copy// 求极值 最大、最小值及其位置      Mat img  imread(Lena.jpg,0);      imshow(original image,img);        double minVal0,maxVal0;      cv::Point minPt, maxPt;      minMaxLoc(img,minVal,maxVal,minPt,maxPt);      coutmin value   minValendl;      coutmax value   maxValendl;      coutminPt  (minPt.x,minPt.y)endl;      coutmaxPt  (maxPt.x,maxPt.y)endl;      coutendl;        cv::Rect rectMin(minPt.x-10,minPt.y-10,20,20);      cv::Rect rectMax(maxPt.x-10,maxPt.y-10,20,20);        cv::rectangle(img,rectMin,cv::Scalar(200),2);      cv::rectangle(img,rectMax,cv::Scalar(255),2);        imshow(image with min max location,img);      cv::waitKey();  运行结果输入图像及其最大最小值位置3. 其他矩阵运算其他矩阵运算函数见下表Function (函数名)Use (函数用处)add矩阵加法AB的更高级形式支持maskscaleAdd矩阵加法一个带有缩放因子dst(I)  scale * src1(I)  src2(I)addWeighted矩阵加法两个带有缩放因子dst(I)  saturate(src1(I) * alpha  src2(I) * beta  gamma)subtract矩阵减法A-B的更高级形式支持maskmultiply矩阵逐元素乘法同Mat::mul()函数与A*B区别支持maskgemm一个广义的矩阵乘法操作divide矩阵逐元素除法与A/B区别支持maskabs对每个元素求绝对值absdiff两个矩阵的差的绝对值exp求每个矩阵元素 src(I) 的自然数 e 的 src(I) 次幂 dst[I]  esrc(I)pow求每个矩阵元素 src(I) 的 p 次幂 dst[I]  src(I)plog求每个矩阵元素的自然数底 dst[I]  log|src(I)| (if src ! 0)sqrt求每个矩阵元素的平方根min, max求每个元素的最小值或最大值返回这个矩阵 dst(I)  min(src1(I), src2(I)), max同minMaxLoc定位矩阵中最小值、最大值的位置compare返回逐个元素比较结果的矩阵bitwise_and, bitwise_not, bitwise_or, bitwise_xor每个元素进行位运算分别是和、非、或、异或cvarrToMat旧版数据CvMat,IplImage,CvMatND转换到新版数据MatextractImageCOI从旧版数据中提取指定的通道矩阵给新版数据Matrandu以Uniform分布产生随机数填充矩阵同 RNG::fill(mat, RNG::UNIFORM)randn以Normal分布产生随机数填充矩阵同 RNG::fill(mat, RNG::NORMAL)randShuffle随机打乱一个一维向量的元素顺序theRNG()返回一个默认构造的RNG类的对象 theRNG()::fill(...)reduce矩阵缩成向量repeat矩阵拷贝的时候指定按x/y方向重复split多通道矩阵分解成多个单通道矩阵merge多个单通道矩阵合成一个多通道矩阵mixChannels矩阵间通道拷贝如Rgba[]到Rgb[]和Alpha[]sort, sortIdx为矩阵的每行或每列元素排序setIdentity设置单元矩阵completeSymm矩阵上下三角拷贝inRange检查元素的取值范围是否在另两个矩阵的元素取值之间返回验证矩阵checkRange检查矩阵的每个元素的取值是否在最小值与最大值之间返回验证结果boolsum求矩阵的元素和mean求均值meanStdDev均值和标准差countNonZero统计非零值个数cartToPolar, polarToCart笛卡尔坐标与极坐标之间的转换flip矩阵翻转transpose矩阵转置比较 Mat::t() ATtrace矩阵的迹determinant行列式 |A|, det(A)eigen矩阵的特征值和特征向量invert矩阵的逆或者伪逆比较 Mat::inv()magnitude向量长度计算 dst(I)  sqrt(x(I)2  y(I)2)MahalanobisMahalanobis距离计算phase相位计算即两个向量之间的夹角norm求范数1-范数、2-范数、无穷范数normalize标准化mulTransposed矩阵和它自己的转置相乘 AT * A, dst  scale(src - delta)T(src - delta)convertScaleAbs先缩放元素再取绝对值最后转换格式为8bit型calcCovarMatrix计算协方差阵solve求解1个或多个线性系统或者求解最小平方问题(least-squares problem)solveCubic求解三次方程的根solvePoly求解多项式的实根和重根dct, idct正、逆离散余弦变换idct同dct(src, dst, flags | DCT_INVERSE)dft, idft正、逆离散傅立叶变换, idft同dft(src, dst, flags | DTF_INVERSE)LUT查表变换getOptimalDFTSize返回一个优化过的DFT大小mulSpecturms两个傅立叶频谱间逐元素的乘法上表引自http://blog.sina.com.cn/s/blog_7908e1290101i97z.html// 转载https://blog.csdn.net/iracer/article/details/51296631
http://www.zqtcl.cn/news/773529/

相关文章:

  • 正版传奇手游官方网站宁波建设银行网站首页
  • 中铁建设集团招标网站wordpress区块编辑无法使用
  • 做电影网站需要的服务器配置网站关键词排名优化应该怎么做
  • 企业网站管理关键词你们懂的
  • 成都成华网站建设跟网站开发公司签合同主要要点
  • 手机搭建平台网站化工厂建设网站
  • 怎样建设自己网站的后台龙港哪里有做百度网站的
  • 西安做网站建设哪家好2345网址导航电脑版下载
  • 做暧暧小视频网站十大职业资格培训机构
  • 泰安网站建设优化营销策划是做什么
  • 做网站百度排前位网页设计实训报告2000字
  • 网站建设的活动方案房地产销售渠道拓客方案
  • 哈尔滨网站提升排名版式设计图片
  • 我的专业网站建设策划书网站logo教程
  • 百度 网站 移动端win10系统之家官网
  • h5商城网站建站成都网站建设全平台
  • xuzhou公司网站制作有什么手机网站
  • 网站建设 培训深圳网站建设制作品牌公司
  • 网站到期怎么续费网站运营优化推广
  • 一站式装修的利弊上海建设厅焊工证查询网站
  • 济宁做网站公司找融合深圳招聘一般在哪个网站
  • 重庆建网站推广公司个人网站需要建站群吗
  • 深圳网站建设吗个人博客网站制作代码
  • 化妆品网站模板网络营销的网站分类有哪些
  • 广州网站建设程序员培训wordpress 微信 抓取
  • 毕设给学校做网站个人店铺logo
  • 中国做w7的网站宿迁网站建设价位
  • 网站建设售后服务合同百度关键词排名点击器
  • 编辑网站用什么软件推广是什么
  • 北京模板开发建站做网站赚钱的点在哪里