- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 8.2 图像膨胀
一、什么是图像膨胀 左边是原始图像,右边是膨胀后的图像。 下面是官网上的例子: 膨胀有什么用呢? 一般来说可以用来去燥。比如下面的图像,有噪声。想把这些噪声去掉。可以先腐蚀,得到中间图像;然后对腐蚀后的图像进行膨胀操作。这样就没有毛刺了。(先腐蚀后膨胀,这种操作在形态学里面叫做开运算,后面会将,这里关注膨胀) 二...
2020-06-25 10:24:00 1912
原创 8.1 图像腐蚀
一、什么是图像腐蚀? 比如左边的图像,白色是前景,黑色是背景。如果对当前的图像进行腐蚀,就会得到右边的图像。 简单点就是边被腐蚀掉了。 下面是官网上给的例子: 二、腐蚀的原理 腐蚀一般针对的是二值图像,也就是只有0和1两个。0就是黑色,1就是白色。我们所谓的腐蚀是指针对他的前景色,就是像素点的值为1的那些像素点。 我们进行腐蚀操作,有两个...
2020-06-25 10:02:15 6695
原创 7.4 中值滤波
一、中值滤波介绍 二、实现 dst = cv2.medianBlur(src, ksize) //核的大小必须是比1大的奇数。写一个数字即可。 例: ''' 中值滤波 ''' import cv2 image = cv2.imread("image\\len...
2020-06-19 01:47:06 311
原创 7.3 高斯滤波
一、高斯滤波介绍 不同于均值滤波,周围每个点的权重都一样。而是加一个系数。 二、高斯滤波实现 dst = cv2.GaussianBlur(src, ksize, sigmaX) //src:源图像 //ksize:...
2020-06-19 01:37:02 280
原创 7.2 方框滤波
一、方块滤波的使用 处理结果= cv2.boxFilter(原始图像,目标图像深度,核大小,normalize属性) //目标图像深度。一般设为-1,表示与原始图像深度一样。 ...
2020-06-18 18:20:55 654
原创 7.1 均值滤波
一、什么是均值滤波 就是某个点的像素值,用他周围N*N范围内的像素点的均值来代替。 比如下面这个图有9行7列。 我想对红色这个点,进行均值滤波。怎么做呢? 一般是在红色这个点周围选定N行N列,比如5行5列,一共25个元素。把这25个元素的像素值取平均,做为红色点的新的像素值。这就是均值滤波。 可以用下面这张图来表示: ...
2020-06-18 17:46:57 10915 2
原创 6.2 threshold函数实现阈值分割
前面介绍了五种阈值分割的方法,现在就是使用thrershold函数进行实现。 retval, dst = cv2.threshold(src, thresh, maxval, type) //retval,阈值。一般thresh指定的是多少,trtval就是多少。 ...
2020-06-18 16:18:54 969
原创 6.1 阈值分割理论基础
在学习阈值分割的时候经常会看到这张图: 这是opencv官网上提供的一张图。 我们分别看一下这六张子图是什么含义,就对阈值分割清楚了。 首先来看第一个图。第一个图是原始图像像素的分布。 y坐标表示像素值。x轴表示很多个像素点。线1表示最大的像素值。线3表示最小的像素值。线2表示阈值。点A为最大值点。点B为最小值点。 ...
2020-06-18 01:51:38 756
原创 5.2 图像翻转
图像翻转 dst = cv2.flip(image, 0) //等于0。上下翻转(关于水平线对称)。【例1】 dst = cv2.flip(image, 1) //大于0:左右翻转(关于y轴对称)。大于0的整数就行,不一定是1。【例2】 dst = cv2.flip(image, -1) //小于...
2020-06-18 01:02:23 299
原创 5.1 图像缩放
图像缩放包括图像放大和图像缩小。 使用resize()函数来缩放。 b = cv2.resize(a,(100,200)) #将a图像处理成200行100列。注意是100是列,200是行。而不是100行200列。【例1】 b = cv2.resize(a,(round(cols*0.5), round(rows*1.2)) #将a的行数变成1.2倍,列数变成0.5倍。防止倍数是小数,所...
2020-06-18 00:43:42 233
原创 4.1 类型转换
图像类型转换就是把图像从一种类型转换成另一种类型。 opencv提供了200多种类型转换。我们这次学三个。 类型有: cv2.COLOR_BGR2GRAY //彩色图像转灰度图像 cv2.COLOR_BGR2RGB //BGR转RGB cv2.COLOR_GRAY2BGR //灰度转彩色 使用方法: b = cv2.cvtColor(a,cv2.CO...
2020-06-17 21:07:30 212
原创 3.2 图像融合
一、图像融合介绍 二、以不同的权重的方式对图像进行融合 一、图像融合介绍 图像融合就是把两张图像相加融合成一张新的图像。 图像融合虽然也是图像相加,但是在进行图像融合的时候,往往要融合一些算法进去,比如: 左边和右边的lena都有一点缺陷。我们希望得到右边清晰的图像。这个过程就是图像融合。 所以图像融合不是简单的相加,而是要进行一些列的算法处理。 二、...
2020-06-17 16:04:00 1035
原创 3.1 图像加法
一、Numpy加法 二、OpenCV加法 图像加法运算,有两种方法。 第一种使用Numpy包进行加法运算;第二种是使用OpenCV实现加法运算。 两种加法的运算方法不同。 一、Numpy加法(取模运算) Numpy加法,实现方式是直接使用"+"进行运算。 格式:result = image1+ image2 使用Numpy的加法运算称作是取模运算。什么是取模运算呢...
2020-06-17 15:19:33 2125
原创 2.4 通道的拆分与合并
一、通道拆分 二、通道合并 一、通道拆分 就是把一幅图像拆分成BGR三个通道。有两种方式,拆分效果相同。 方式一: b = image[:, :, 0] #得到0通道。就是一个二维数组。也就是一个灰度图像。【例1】 g = image[:, :, 1] r = image[:, :, 2] ...
2020-06-14 18:04:14 887
原创 2.3 感兴趣区域(ROI)
一、ROI介绍 二、操作 一、ROI介绍 我们可能对图像中的某一个特定区域感兴趣,改区域称为感兴趣区域(Region of Interest,ROI)。 二、操作 (1)显示一幅图像的感兴趣区域 image[200:400, 200:400] #【例1】 (2)在同一图像中,将一个区域复制到另一个区域 image[200:400, ...
2020-06-14 17:08:40 6858
原创 2.2 获取图像的属性
一、形状 二、像素数目 三、图像的数据类型 一、形状 shape属性,可以获取图像的形状,返回包含的行数、列数、通道数的元组。 如果是灰度图像,返回行数和列数。 如果是彩色图像,返回行数、列数和通道数。 二、图像像素数目 size属性可以获取图像的像素数目。 对于灰度图像,返回行数*列数 对于彩色图像,返回行数*列数*通道数 三、图像类型...
2020-06-14 01:31:08 266
原创 2.1 像素的读取和修改
一、通过下标的方式对图像像素进行读取与修改 二、利用Numpy库的方式对图像像素的读取与修改 一、通过下标的方式对图像像素进行读取与修改 (1)灰度图像像素的读取与修改 print(image[100,100]) #访问图像image的第100行第100列的像素。【例1】 image[100,100]=255 #修改图像image的第100行第100列的像素。【例1】 ...
2020-06-14 01:07:18 602 1
隐马模型解决词性标注问题
2018-07-28
使用CRF++工具进行人名识别
2018-07-12
《矩阵论 第三版》程云鹏(竖着排版版的格式)+配套答案
2018-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人