一 imshow函数说明

1.imshow可以直接显示8位无符号整型图像,像素值范围位(0,255)。

2.imshow也是可以直接正常显示浮点型图像(32位或64位)的,当inshow函数遇到浮点型图像时,像素值将乘以255。也就是说,值范围[0,1]被映射到[0,255],然后就能正常显示了(这个过程是内部自动完成的)。前提是浮点型图像(即像素值范围为(0,1)),而不是随意取值范围浮点型矩阵。

3.如果你计算得到一个矩阵,想让其显示为图像,若是8位无符号整型,像素值要在(0,255)区间内,如若不是需要进行范围归一化为(0,255)。若是浮点型的不在(0,1)范围,则要归一化范围为(0,1),或者直接转为8位无符号整型(如:用normalize函数归一 化为 0,255)范围后,再用convertScaleAbs函数将归一化后的图线性变换成8位无符号整型)。

二 CV_32FC1类型图像显示实例

Mat A= Mat::zeros(m,n, CV_32FC1);//输入for (int i= 0; i < m; ++i) //访问
{for (int j = 0; j < n; ++j)   {A.at<float>(i,j) = 123.333;//赋值 }
}
normalize(A,A,1.0,0.0,NORM_MINMAX);//归一到0~1之间
imshow("A", A);//显示

二 CV_8UC1 /CV_8UC3类型图像的访问

//0<=pixelY<750 ;    0<=pixelX<500Mat map0(Mat::zeros(750, 500, CV_8UC1));
map0.ptr<char>(pixelY)[pixelX] = 254; //单通道图像不能用data[offset]的方式访问;
imshow("map0",map0);int offset=pixelX*3+pixelY*map0.step;
Mat map1(Mat::zeros(750, 500, CV_8UC3));
map1.data[offset+0]=250;
map1.data[offset+1]=250;
map1.data[offset+2]=250;
imshow("map1",map1);

OpenCV中Mat 与 imshow相关推荐

  1. OpenCV中Mat的属性

    OpenCV中Mat的属性 最近在做一OpenCV的图像轮廓检验,但当用到霍夫变换时才发现对Mat的属性了解不足.Mat在OpenCV中的地位是及其重要的,因此有必要做一个总结. 大体上来说,Mat是 ...

  2. Opencv中Mat的data数据只定义为uchar*类型,

    opencv中Mat的数据定义为指向uchar 的指针,而构造函数又提供了许多其他类型. 其实数据在内存中是一维存储的,而图像基本结构是二维的,3D图像还会是三维的:同时,彩色图像还有多个channe ...

  3. C++下的OpenCV中Mat类型存储的图像格式

    在调用CV进行图像处理时,经常涉及图像格式转换,经常出现原始图像输入后CV_32F与ushort之间的数据差异导致程序报错,可使用std::cout << "dilated_ty ...

  4. opencv中Mat究竟是什么?

    opencv中Mat究竟是什么?(试着运行一下两个代码) 首先看opencv是怎么显示一张图的 : //#include "stdafx.h"#include <opencv ...

  5. opencv获取mat的指针_数字图像处理之opencv中Mat数据操作

    数字图像处理其实就是处理二维矩阵数据.利用opencv来学习处理算法是一种比较好的方式.学习opencv,主要就是调用其中的图像处理函数来实现各种操作.如果要得到想要的处理结果,还需要对图像处理算法有 ...

  6. opencv java水平投影_使用OpenCv中Mat进行水平投影与垂直投影并实现字符切分

    由于要做图像的处理,所以最近在学习Opencv的相关知识,学习了Opencv中的Mat对象,查阅了网上的资料,了解了相关知识.现在实现了一个使用Mat对象来进行图像的水平投影与垂直投影,并在此基础之上 ...

  7. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  8. opencv中mat详细解析

    ##1.起源 OpenCV作为强大的计算机视觉开源库,很大程度上参考了MatLab的实现细节和风格,比如说,在OpenCV2.x 版本以后,越来越多的函数实现了MatLab具有的功能,甚至干脆连函数名 ...

  9. OpenCV中Mat总结

    一.数字图像存储概述 数字图像存储时,我们存储的是图像每个像素点的数值,对应的是一个数字矩阵. 二.Mat的存储 1.OpenCV1基于C接口定义的图像存储格式IplImage*,直接暴露内存,如果忘 ...

最新文章

  1. ftp服务器上传的文件打不开,ftp服务器文件有的上传不了
  2. 网络营销外包——网络营销外包专员如何做好网站搜索引擎优化
  3. 10锁屏幻灯片_手机跟我学第一百八十八课——如何设置锁屏
  4. html版本的网站地图只适合,如何在HTML和XML网站地图中取舍
  5. 【Git】Git教程
  6. java soap envelope_如何在SOAP请求中关闭Envelope和Body
  7. swiper轮播插件的使用
  8. android 线程那点事
  9. vrm华为_华为-笔记本电脑如何安装FusionCompute虚拟化平台?
  10. 【flink】Flink 1.12.2 源码浅析 :Task数据输出
  11. websocket替代方案_WebSocket 有没有可能取代 AJAX ?
  12. 快应用采坑(3)-使用差别
  13. Yolo3 实现目标检测
  14. 架构师之路:如何做一个好的产品架构师
  15. java 繁体转简体_如何用java将繁体字转为简体字
  16. JAVA实现类泡泡屏保效果
  17. Win32_CDROMDrive 光驱 的参数说明
  18. 逻辑思维题 微信18954274246 答案
  19. Spectral matting
  20. Http/Https代理Python实现

热门文章

  1. 手机实况足球2018 服务器维护进行中,梦幻足球联盟2018进不去 | 手游网游页游攻略大全...
  2. 中国粘胶纤维市场消费量调研及投资商机研究报告2022-2028年
  3. 暑期百度培训CV班学习笔记
  4. 公司让给客户发国庆祝福短信怎么快速完成
  5. Python 中下划线的 5 种含义
  6. 博图V15.1下载及安装过程
  7. java byte数组 int,装修隐形门设计怎么做
  8. java primitive types_Java中的原始类型(Primitive Types)与引用类型(Reference Values)...
  9. 图片二维码怎么批量制作
  10. 梅森公式确定系统的传递函数