机器学习进阶-图像形态学操作-膨胀操作 1.cv2.dilate(进行膨胀操作)

1.cv2.dilate(src, kernel, iteration)

参数说明: src表示输入的图片, kernel表示方框的大小, iteration表示迭代的次数

膨胀操作原理:存在一个kernel,在图像上进行从左到右,从上到下的平移,如果方框中存在白色,那么这个方框内所有的颜色都是白色

代码:

1.读取带有毛躁的图片

2.使用cv2.erode进行腐蚀操作

3.使用cv2.dilate进行膨胀操作

import cv2
import numpy as np

# 1.读入图片
img = cv2.imread(‘dige.png‘)
cv2.imshow(‘original‘, img)
cv2.waitKey(0)
cv2.destroyAllWindows()
kernel = np.ones((5, 5), np.uint8)

# 2.进行腐蚀操作,去除边缘毛躁
erosion = cv2.erode(img, kernel, iterations=1)
cv2.imshow(‘erosion‘, erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 3. 进行膨胀操作
dilate = cv2.dilate(erosion, kernel, iterations=1)
cv2.imshow(‘dilate‘, dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()

原文地址:https://www.cnblogs.com/my-love-is-python/p/10394908.html

时间: 2024-10-12 19:23:28

机器学习进阶-图像形态学操作-膨胀操作 1.cv2.dilate(进行膨胀操作)的相关文章

机器学习进阶-图像形态学变化-礼帽与黑帽 1.cv2.TOPHAT(礼帽-原始图片-开运算后图片) 2.cv2.BLACKHAT(黑帽 闭运算-原始图片)

1.op = cv2.TOPHAT  礼帽:原始图片-开运算后的图片 2. op=cv2.BLACKHAT 黑帽: 闭运算后的图片-原始图片 礼帽:表示的是原始图像-开运算(先腐蚀再膨胀)以后的图像 黑帽:表示的是闭运算(先膨胀再腐蚀)后的图像 - 原始图像 代码: 第一步:读取图片 第二步:使用cv2.MOPRH_TOPHAT获得礼帽图片 第三步:使用cv2.MOPRH_BLACKHAT获得黑帽图片 import cv2 import numpy as np # 第一步读入当前图片 img =

机器学习进阶-项目实战-信用卡数字识别 1.cv2.findContour(找出轮廓) 2.cv2.boudingRect(轮廓外接矩阵位置) 3.cv2.threshold(图片二值化操作) 4.cv2.MORPH_TOPHAT(礼帽运算突出线条) 5.cv2.MORPH_CLOSE(闭运算图片内部膨胀) 6. cv2.resize(改变图像大小) 7.cv2.putText(在图片上放上文本)

7. cv2.putText(img, text, loc, text_font, font_scale, color, linestick) # 参数说明:img表示输入图片,text表示需要填写的文本str格式,loc表示文本在图中的位置,font_size可以使用cv2.FONT_HERSHEY_SIMPLEX, font_scale表示文本的规格,color表示文本颜色,linestick表示线条大小 信用卡数字识别: 信用卡      数字模板涉及到的内容:主要是采用模板匹配的思想 思

机器学习进阶-图像基本操作-边界补全操作 1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 进行边界的补零操作 2.cv2.BORDER_REPLICATE(边界补零复制操作)...

1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 参数说明: img表示需要补零的图片, top_size, bottom_size, left_size, right_size表示需要补零的尺寸, cv2.BORDER_REPLICATE表示补零的方式,这个是复制 2. 补零的方式说明 cv2.BORDER_REPLICATE: 进行复制的补零操作, 只对边缘

机器学习进阶-图像基本操作-图像数据读取 1.cv2.imread(图片读入) 2.cv2.imshow(图片展示) 3.cv2.waitKey(图片停留的时间) 4.cv2.destroyAllWindows(清除所有的方框界面) 5.cv2.imwrite(对图片进行保存)

1. cv2.imread('cat.jpg', cv2.IMGREAD_GRAYSCALE)  # 使用imread读入图像(BGR顺序), 使用IMGREAD_GRAYSCALE 使得读入的图片为灰度图, 2. cv2.imshow('cat', img)  # imshow表示展示图片,第一个参数表示图片的名字, 第二个参数表示需要显示的图片 3. cv2.waitKey(0)  #表示图片停留的时间, 0表示按任意键退出 4.cv2.destroyAllWindows()  #表示清除所

机器学习进阶-图像基本处理-视频的读取与处理 1.cv2.VideoCapture(视频的载入) 2.vc.isOpened(载入的视频是否可以打开) 3.vc.read(视频中一张图片的读取) 4.cv2.cvtColor(将图片转换为灰度图)

1.vc = cv2.VideoCapture('test.mp4') #进行视频的载入 2.vc.isOpened() # 判断载入的视频是否可以打开 3.ret, frame = vc.read()  #进行单张图片的读取,ret的值为True或者Flase, frame表示读入的图片 4.cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)  #表示将图片转换为灰度图 代码: import cv2 vc = cv2.VideoCapture('test.mp4')

图像形态学操作—腐蚀膨胀深入

这里我们主要想讲解冈萨雷斯的数字图像处理这本书上膨胀腐蚀的定义及用opencv实现的结果,然后对比它们之间的差异. 一:opencv实现 在这之前可以看我的另外一篇blog:http://blog.csdn.net/lu597203933/article/details/17184439 膨胀: 案例代码: int main() { int a[8][8] = { {0,0,0,0,0,0,0,0}, {0,0,5,1,0,0,1,1}, {0,1,0,1,0,1,0,0}, {0,1,1,2,

图像形态学操作

形态学-腐蚀操作 img = cv2.imread('dige.png') cv2.imshow('img', img) cv2.waitKey(0) cv2.destroyAllWindows() kernel = np.ones((3,3),np.uint8) erosion = cv2.erode(img,kernel,iterations = 1) cv2.imshow('erosion', erosion) cv2.waitKey(0) cv2.destroyAllWindows()

Atitit 图像处理—图像形态学(膨胀与腐蚀)

Atitit 图像处理-图像形态学(膨胀与腐蚀) 1.1. 膨胀与腐蚀1 1.2. 图像处理之二值膨胀及应用2 1.3. 测试原理,可以给一个5*5pic,测试膨胀算法5 1.4. Photoshop里面的处理5 1.5. 类库的处理,好像没找到jhlabs,6 1.6. Attilax 源码6 1.1. 膨胀与腐蚀 说概念可能很难解释,我们来看图,首先是原图: 膨胀以后会变成这样: 腐蚀以后则会变成这样: 看起来可能有些莫名其妙,明明是膨胀,为什么字反而变细了,而明明是腐蚀,为什么字反而变粗了

OpenCV学习 7:图像形态学:腐蚀、膨胀

原创文章,欢迎转载,转载请注明出处 首先什么是图像形态学?额,这个抄下百度到的答案.基本思想:    用具有一定形态的结构元素去度量和提取图像中的对应形状已达到对图像分析和识别的目的,形态学图像处理表现为一种领域运算方式(这个和前面的模糊运算是一样的运算方式),效果取决于结构元素(就是前面smooth里面的核)的大小,内容以及逻辑运算的性质.看了这些定义是不是很晕,对很晕...我比较关心的是它的用途和怎么计算.    用途是:简化图像数据,保持他们基本的形状特性,并出去不相干的结构.    基本