加载美女图片之OpenCV 图像读取与显示

简介: 加载美女图片之OpenCV 图像读取与显示

文章目录

一、图像通道

二、读取图像

1、Mat结构

2、格式化打印图像数据

3、访问或设置像素强度值

4、imread函数读取图片

三、显示图像

四、保存图像

五、综合案例讲解

1、测试上面的函数

2、格式化打印效果

3、保存图片效果展示

4、综合代码

一、图像通道

颜色通道

RGB 图像有4 个默认通道:红色、绿色和蓝色各有一个通道,以及一个用于编辑图像复合通道(主通道)

彩色深度

8位色,每个像素所能显示的彩色数为2的8次方,即256种颜色。


16位增强色,16位彩色,每个像素所能显示的彩色数为2的16次方,即65536种颜色。


24位真彩色,每个像素所能显示的彩色数为24位,即2的24次方,约1680万种颜色。


32位真彩色,即在24位真彩色图像的基础上再增加一个表示图像透明度信息的Alpha通道。


Alpha通道:一张图片的透明和半透明度

CV_8UC3系列解读


函数原型

CV_<bit_depth>(S|U|F)C<number_of_channels>

bit_depth:像素点占用空间大小,bit


S|U|F:


S:signed int——有符号

U:unsigned int——无符号

F:float——单精度浮点

number_of_channels


1 单通道图像,即为灰度图像

2 双通道图像

3 三通道图像

4 带Alpha通道的彩色图像,四通道图像


1、Mat结构

大家可以用如下图的方式查看,需要用到哪个调用哪个,这里只是简单的介绍


我们可以看一下库函数447fd1671ca54d3892e3f0195dfc7b50.png

class  Mat

{

public:

 /*

  flag:  

  1.数字签名  

  2.维度

  3.通道数

  4.连续性

 */

int flags;      

int dims;      //数据维数

int rows,cols;     //数据行列

uchar *data;    //存储的数据  

   const uchar* datastart;  //数据开始

   const uchar* dataend;  //数据结束

   const uchar* datalimit;  //数据边界

//其他成员  

 //.....

 //其他方法

 //.....

public:   //构造方式

   // 默认构造函数 Mat A;

   Mat ()

   // 常用构造函数 Mat A(10,10,CV_8UC3);

   Mat (int rows, int cols, int type)

   //Mat A(300, 400, CV_8UC3,Scalar(255,255,255));

   Mat (int ndims, const int *sizes, int type, const Scalar &s)

   Mat (Size size, int type)

   Mat (int rows, int cols, int type, const Scalar &s)

   Mat (Size size, int type, const Scalar &s)

   Mat (int ndims, const int *sizes, int type)

   Mat (const Mat &m)

   Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP)

   Mat (Size size, int type, void *data, size_t step=AUTO_STEP)

   Mat (int ndims, const int *sizes, int type, void *data, const size_t *steps=0)

   Mat (const Mat &m, const Range &rowRange, const Range &colRange=Range::all())

   //Mat D (A, Rect(10, 10, 100, 100) );

   Mat (const Mat &m, const Rect &roi)

   Mat (const Mat &m, const Range *ranges)

};

2、格式化打印图像数据

函数原型


Ptr<Formatted> format(InputArray mtx, Formatter::FormatType fmt)


第一个参数是图像名称

第二个参数是打印方式

FMT_DEFAULT= 0,

FMT_MATLAB= 1,

FMT_CSV = 2,

FMT_PYTHON = 3,

FMT_NUMPY = 4,这也是py的一种打印方式,数组

FMT_C = 5,C语言方式打印


3、访问或设置像素强度值

函数原型


Scalar 它将各个通道的值构成一个整体,赋给具有相同通道数的矩阵元素,通俗点就是一个复合数据


版权声明:本文为CSDN博主「热爱编程的小K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_72157449/article/details/130097048

相关文章
|
27天前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
34 4
|
2月前
|
计算机视觉 Windows Python
windows下使用python + opencv读取含有中文路径的图片 和 把图片数据保存到含有中文的路径下
在Windows系统中,直接使用`cv2.imread()`和`cv2.imwrite()`处理含中文路径的图像文件时会遇到问题。读取时会返回空数据,保存时则无法正确保存至目标目录。为解决这些问题,可以使用`cv2.imdecode()`结合`np.fromfile()`来读取图像,并使用`cv2.imencode()`结合`tofile()`方法来保存图像至含中文的路径。这种方法有效避免了路径编码问题,确保图像处理流程顺畅进行。
170 1
|
7天前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
|
2月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
|
2月前
|
计算机视觉 索引
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
本文介绍了解决OpenCV读取视频失败的错误,指出问题通常由视频路径错误或摄像头索引错误导致,并提供了相应的解决方法。
OpenCV读取视频失败<无可用信息,未为 opencv_world453.dll 加载任何符号> cv::VideoCapture
WK
|
2月前
|
编解码 计算机视觉 Python
如何在OpenCV中进行图像转换
在OpenCV中,图像转换涉及颜色空间变换、大小调整及类型转换等操作。常用函数如`cvtColor`可实现BGR到RGB、灰度图或HSV的转换;`resize`则用于调整图像分辨率。此外,通过`astype`或`convertScaleAbs`可改变图像数据类型。对于复杂的几何变换,如仿射或透视变换,则可利用`warpAffine`和`warpPerspective`函数实现。这些技术为图像处理提供了强大的工具。
WK
72 1
|
2月前
|
存储 编解码 API
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
47 1
|
2月前
|
机器人 计算机视觉
巧用 OpenCV solvePnP() 函数完成由图像坐标系到机器人坐标系的转换(二维坐标系之间的转换)
巧用 OpenCV solvePnP() 函数完成由图像坐标系到机器人坐标系的转换(二维坐标系之间的转换)
48 2
|
2月前
|
计算机视觉
使用QT显示OpenCV读取的图片
使用QT显示OpenCV读取的图片
39 1
|
3月前
|
机器学习/深度学习 XML 计算机视觉
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
下一篇
无影云桌面