加载美女图片之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

相关文章
|
2月前
|
计算机视觉
Opencv学习笔记(十二):图片腐蚀和膨胀操作
这篇文章介绍了图像腐蚀和膨胀的原理、作用以及使用OpenCV实现这些操作的代码示例,并深入解析了开运算和闭运算的概念及其在图像形态学处理中的应用。
163 1
Opencv学习笔记(十二):图片腐蚀和膨胀操作
|
2月前
|
计算机视觉 Python
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
使用OpenCV库将一个文件夹内的所有彩色图片批量转换为灰度图,并提供了相应的Python代码示例。
39 0
Opencv学习笔记(二):如何将整个文件下的彩色图片全部转换为灰度图
|
2月前
|
计算机视觉 Python
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
这篇博客介绍了如何使用OpenCV库在Python中将图片保存到指定目录,以及如何将文件夹中的所有图片读取并以数组形式输出。
186 0
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
|
2月前
|
计算机视觉
Opencv错误笔记(一):通过cv2保存图片采用中文命名出现乱码
在使用OpenCV的cv2模块保存带有中文命名的图片时,直接使用cv2.imwrite()会导致乱码问题,可以通过改用cv2.imencode()方法来解决。
176 0
Opencv错误笔记(一):通过cv2保存图片采用中文命名出现乱码
|
2月前
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
525 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
3月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
55 4
|
3月前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
|
2月前
|
Serverless 计算机视觉
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
这篇文章介绍了如何使用OpenCV库通过mask图像绘制分割对象的外接椭圆。首先,需要加载mask图像,然后使用`cv2.findContours()`寻找轮廓,接着用`cv2.fitEllipse()`拟合外接椭圆,最后用`cv2.ellipse()`绘制椭圆。文章提供了详细的代码示例,展示了从读取图像到显示结果的完整过程。
69 0
语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
WK
|
4月前
|
编解码 计算机视觉 Python
如何在OpenCV中进行图像转换
在OpenCV中,图像转换涉及颜色空间变换、大小调整及类型转换等操作。常用函数如`cvtColor`可实现BGR到RGB、灰度图或HSV的转换;`resize`则用于调整图像分辨率。此外,通过`astype`或`convertScaleAbs`可改变图像数据类型。对于复杂的几何变换,如仿射或透视变换,则可利用`warpAffine`和`warpPerspective`函数实现。这些技术为图像处理提供了强大的工具。
WK
130 1
|
4月前
|
存储 编解码 API
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
python多种方法压缩图片,opencv、PIL、tinypng、pngquant压缩图片
329 1
下一篇
DataWorks