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

shopify建站最全教程东莞市房产管理局官网

shopify建站最全教程,东莞市房产管理局官网,做网站的职业叫什么,湖南旅游网站开发在上一篇关于傅里叶变换的博客中#xff0c;知道了imshow的一个小trick#xff1a;对normalize得到的0~1之间的浮点数构成的矩阵会进行放大255的操作#xff0c;得到可视化的灰度图。即便是在python中也是如此操作的#xff0c;只不过python中的函数封装得更加严密#xf…在上一篇关于傅里叶变换的博客中知道了imshow的一个小trick对normalize得到的0~1之间的浮点数构成的矩阵会进行放大255的操作得到可视化的灰度图。即便是在python中也是如此操作的只不过python中的函数封装得更加严密我们看不到填充、归一化等操作当把显示出的图像保存到本地时再打开查看图像的像素依然在0~1之间不利于我们之后对于频谱图的处理。所以这里就着重研究一下如何将imshow出的图像原样地保存下来。 链接1提到该函数分为范围归一化与数据值归一化。Normalizes the norm or value range of an array.由第三个参数alpha决定1表示函数用来规范值2表示规范范围并且和第四个参数分别规定了范围的下限和上限。由此我们可以看到数值归一化和范围归一化的区别 数值归一化是利用现有的数据通过某种占比方式重新计算每一个数值的占比作为新的值。根据范数类型norm_type的不同分母可以是数值之和对应L1范数可以是最大值对应INF范数可以是数据的平方之和再开根号对应L2范数。所以数据值归一化也叫范数归一化。 范围的归一化也叫线性变换线性拉伸或压缩因为范围变换引入了范围的上限和下限根据几何知识可以进行计算。特别地当待归一化的数组最小值是0且范围上下限分别是0、1时范围归一化的结果和范数INF归一化的结果相同。可以按照如下代码验证 #includeopencv2/opencv.hpp #includeiostreamusing namespace std;int main() {vectordoublea { 10, 11, 234, 45, 65, 456};cv::normalize(a, a, 2, 300, cv::NORM_MINMAX);for (int i 0; i a.size(); i){cout a[i] endl;}getchar();return 0; } 为了保证频谱图像本身是可视化图像灰度值分布在0~255使用normalize函数 normalize(mag, mag, 0, 255, CV_MINMAX);//范围归一化在0~255但是显示出来的是全白图像。 于是决定手动对数组乘255.实现方式是用OpenCV的函数 void multiply(InputArray src1, InputArraysrc2,OutputArray dst, doublescale1, int dtype-1); //Mat gainMat(mag.rows, mag.cols, CV_32F, Scalar::all(255));//multiply(gainMat, mag, mag);//multiply要求两个矩阵类型一样 但结果是显示出的频谱图依然是全白图像。注意到浮点数才想起来imshow对浮点数还会进行一次255的乘法操作所以关键其实在把数组由float类型转换为可视图像的uchar8为无符号类型。同样利用OpenCV函数convertTo函数src.convertTo(dst, type, scale, shiftmag.convertTo(mag, CV_8U, 1); 其实convertTo函数也可以实现数据的缩放。如果我们用normalize函数范围变换到0~255就不必经过数组乘法在convertTo函数中选择数据格式为CV_8U缩放尺度为1就可以得到我们想要的频谱图像。 前文中涉及的multiply函数实现的实际上是矩阵的数乘两个参与运算的矩阵行列一致矩阵每个元素对应相乘得到依然是同样大小的数组。这里顺便总结一下矩阵的其他乘法。 点乘内积、数量积 要求参与运算的两个矩阵行列一致但会把矩阵扩展成一个行列向量结果是对应元素的相乘再相加求和结果是一个标量double类型。 Mul Mul函数和multiply的功能一样但需要注意的是输出的Mat AB如果没有声明类型默认是和A、B一致的且若AB精度不够可能产生溢出溢出的值被置为当前精度下的最大值。如AB中第一个元素应该为60*60360但AB默认的类型为CV_8UC1,即最大值只能是255 矩阵乘法 OpenCV重载了运算符“*”实现我们最熟知的矩阵乘法结果的元素是行列对应元素相乘求和的结果。参与点乘的两个Mat矩阵的数据类型type只能是 CV_32F、 CV_64FC1、 CV_32FC2、 CV_64FC2 这4种类型中的一种。若选用其他类型比如CV_8UC1编译器会报错。 Reference 1.      Normalizehttps://blog.csdn.net/cosmispower/article/details/64457406 2.      https://blog.csdn.net/liyuan123zhouhui/article/details/51745414 3.      convertTo https://blog.csdn.net/qq_36355900/article/details/76034805 4.      点乘、dot、mulhttps://blog.csdn.net/dcrmg/article/details/52404580
http://www.yutouwan.com/news/303609/

相关文章:

  • 深圳市网站推广公司广州企业招聘信息
  • 网站建设背景图片网站建设团队技术介绍
  • 南昌如何做百度的网站wordpress主题首页文件夹
  • 宝安最好的网站建设网站免费正能量软件不良
  • 国外黄冈网站推广做网站头文件
  • 哈尔滨营销网站建设wordpress历史版本数据库
  • 网站通常用什么编程做呼和浩特注册公司流程和费用
  • 电影网站html源码怎么注册公司要多少钱
  • 网站配色主题杭州 高端网站建设 推荐
  • 重庆品牌型网站建设网页制作免费的模板
  • 网站建设作业教程网站推广公司排名
  • 合肥建设网官方网站电子商务论文3000字
  • wordpress配置发信网站关键字优化合同
  • 建站系统源代码郴州新网招聘信息
  • 焦作市网站建设哪家好网络技术服务公司
  • led网站制作关于网站的制作
  • 做任务得佣金的网站网站建设中服务器的搭建方式有几种
  • 网站推广策略100例wordpress文档预览
  • 深圳电商网站wordpress 制作落地页
  • 品牌网站建是啥动漫专业最好的学校
  • google提交网站入口怎样免费建立自己网站
  • 设计数码产品宣传网站怎么做一家网站
  • 黄页88网怎么推广六安seo地址
  • 职业中学网站建设财务软件免费
  • 西安做网站的公司深圳英文网站设计
  • 建设摩托官方网站花生壳可以用来做网站吗
  • 马鞍山的网站建设公司哪家好微信小程序直播开通条件
  • 编程代码网站直播秀场网站开发
  • 俄文网站推广浏览器地址栏怎么打开
  • 姑苏网站制作商业广告公司排名