opencv 轮廓放大_分享计算机视觉之图像处理Python之opencv

本文介绍了计算机视觉中图像处理的基础,包括图像的内部表示、RGB色彩模型以及OpenCV中的图像增强、缩放和平滑处理。特别讨论了cv2.resize函数在图像缩放中的应用和注意点,以及图像分割中的Canny边缘检测算法和形态学处理。
摘要由CSDN通过智能技术生成

b3be424a3350524bb208223d07857a40.png

start

6ae00015eb69a875d7d6528b90ea9640.gif

计算机视觉

  计算机视觉信息的处理技术主要依赖于图像处理方法,经过处理后输出图像的质量得到相当程度的改善,既改善了图像的视觉效果,又便于计算机对图像进行分析、处理和识别。

1b447a9bf21a863f49b52103cc5f354d.png

01

♡♡♡

当我们使用Photoshop等图像编辑器打开图像,无限放大图像,用放大镜方式查看图像时,会看到很多彩色的小方格(针对彩色图而言)。其实这其中的每一个彩色的方格都是由三个数值量化的,或者说是由一个具有三个元素的向量量化的。灰度图像的每一个像素都是由一个数字量化的,而彩色图像的每一个像素都是由三个数字组成的向量量化的。最常用的是由R、G、B三个分量来量化的,RGB模型使用加性色彩混合以获知需要发出什么样的光来产生给定的色彩,源于使用阴极射线管(CRT)的彩色电视,具体色彩的值用三个元素的向量来表示,这三个元素的数值分别代表三种基色:Red、Green、Blue的亮度。假设每种基色的数值量化成个数,就如同8位灰度图像一样,灰度量化成个数。RGB图像的红、绿、蓝三个通道的图像都是一张8位图,因此颜色的总数为,如(0,0,0)代表黑色,(255,255,255)代表白色,(255,0,0)代表红色。

因此计算机“看到”的图像或者图像在计算机内部表现形式是数字矩阵,简单来说,彩色图在每个像素上有三个值,而灰度图只有一个值。

我们习惯的坐标表示是先 x 横坐标,再 y 纵坐标。在图像处理中,这种惯性思维尤其需要担心。因为在计算机中,图像是以矩阵的形式保存的,先行后列。所以,一张 宽×高×颜色 通道=480×256×3 的图片会保存在一个 256×480×3 的三维张量中。图像处理时也是按照这种思想进行计算的(其中就包括 OpenCV 下的图像处理),即 高×宽×颜色通道。

  但是问题来了,cv2.resize这个api却是个小例外。因为它的参数输入却是 宽×高×颜色通道。

opencv中的image的shape属性是=高*宽*通道,而cv.resize操作却是输入为(宽*高),这里尤为要注意。

1b447a9bf21a863f49b52103cc5f354d.png

02

♡♡♡

处理图像主要步骤

 1.图像增强 

  图像的增强用于调整图像的对比度,突出图像中的重要细节,改善视觉质量。通常采用灰度直方图修改技术进行图像增强。图像的灰度直方图是表示一幅图像灰度分布情况的统计特性图表,与对比度紧密相连。

灰度图跟彩色图不一样,灰度图每一个方格代表图像的一个像素。那么针对图像的基本信息,如何解读其中的宽度、高度和位深度呢?灰度图所对应的数字矩阵中,水平方向上的方格数对应其基本信息中的“宽度”,垂直方向上的方格数对应其基本信息中的“高度”,而计算机会将每一个像素数字化为一个数值,灰度图的”位深度“是8bit(彩色是24位),代表将每一个方格数字化为[0,255]之间的uchar类型数字,即用256个数字来衡量灰度的深浅,值越大,代表越亮,值越小,代表越灰,255代表白色,0代表黑色。因此,将上述彩色图灰度化以后,计算机看到的是一个二维数字矩阵。opencv中的cvtColor函数实现BGR彩色空间的图像向灰度图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值