注册好了域名怎么开始做网站,网站改备案,微信小程序制作费用是多少,品牌网站建设小h蝌蚪什么事形态学处理 基于图像形态进行处理的一些基本方法#xff1b; 这些处理方法基本是对二进制图像进行处理#xff1b; 卷积核决定着图像出来后的效果。
一 图像二值化
什么是二值化 将图像的每个像素变成两种值#xff0c;如0,255.
全局二值化。
局部二值化。
thres…什么事形态学处理 基于图像形态进行处理的一些基本方法 这些处理方法基本是对二进制图像进行处理 卷积核决定着图像出来后的效果。
一 图像二值化
什么是二值化 将图像的每个像素变成两种值如0,255.
全局二值化。
局部二值化。
threshold API
threshold(img,thresh,maxVal,type)
img:图像最好是灰度图
thresh:阈值
maxVal:超过阈值替换成maxVal
THRESH_BINARY和THRESH_BINARY_INV
THRESH_TRUNC
THRESH_TOZERO和THRESH_TOZERO_INVimport cv2import numpy as npimgcv2.imread(./2037551.jpg)img1cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)ret,dstcv2.threshold(img,180,255,cv2.THRESH_BINARY)cv2.imshow(img,img)
cv2.imshow(gray,img1)
#cv2.imshow(bin,bin)cv2.waitKey(0)二 阈值类型
thresholdType
三 自适应阈值
由于光照不均匀以及阴影的存在只有一个阈值会使得在阴影处的白色被二值化成黑色。
adaptiveThresholdAPI
adaptiveThreshold(img,maxVal,adaptiveMethodtype,blockSie,C)
adaptiveMethod:计算阈值的方法
blockSize:邻近区域的大小
C常量应从计算出的平均值或加权平均值中减去
adaptiveMethod
计算阈值的方法
ADAPTIVE_THRESH_MEAN_C:计算领近区域的平均值
ADAPIVE_THRESH_GAUSSIAN_C高斯窗口加权平均值
Type:THRESH_BINARY,THRESH_BINARY_INVimport cv2
import numpy as npimgcv2.imread(./2037551.jpg)
img1cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)dstcv2.adaptiveThreshold(img1,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,11,0)print(dst.shape)cv2.imshow(img,img)
cv2.imshow(img1,img)
cv2.imshow(dst,dst)cv2.waitKey(0)四 腐蚀 1 腐蚀运算
2 腐蚀效果 3 腐蚀API
erode(img,kernel,iterations1)import cv2
import numpy as npimgcv2.imread(./2037551.jpg)kernelnp.ones((3,3),np.uint8)dstcv2.erode(img,kernel,iterations1)cv2.imshow(img,img)
cv2.imshow(dst,dst)
cv2.waitKey(0)六 获取形态学卷积核
卷积核的类型
getStructuringElement(type,size)
Size值为:3:3、5,5...
MORPH_RECT
MORPH_ELLIPSE
MORPH_CROSS七 OPenCV 膨胀
膨胀运算
1 膨胀效果 2 膨胀API
dilate(img,kernel,iterations1)问题 如果是白底黑字进行腐蚀与膨胀后会怎样 卷积核是否可以设置为全0
八 开运算
开运算腐蚀膨胀
开运算效果 开运算API
morphologyEx(img,EORPH_OPEN,kernel)
import cv2
import numpy as npimgcv2.imread(./2037551.jpg)kernelcv2.getStructuringElement(cv2.MORPH_RECT,(7,7))#dstcv2.erode(img,kernel,iterations1)#膨胀
#dst1cv2.dilate(img,kernel,iterations1)dst1cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)
#cv2.imshow(dst,dst)
cv2.imshow(dst1,dst1)
cv2.waitKey(0)九 闭运算
闭运算效果 闭运算API
morphology(img,MORPH_CLOSE,kernel)十 形态学剃度
梯度原图-腐蚀
梯度效果图
梯度API
morphologyEx(img,MORPH_GRADIENT,kernel)import cv2
import numpy as npimgcv2.imread(./2037551.jpg)kernelcv2.getStructuringElement(cv2.MORPH_RECT,(7,7))#梯度
dst1cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)cv2.imshow(img,img)
cv2.imshow(dst,dst1)
cv2.waitKey(0)十一 顶帽运算
顶帽原图-开运算
顶帽效果图 顶帽API
morphologyEx(img,MORPH_TOPHAT,kernel)import cv2
import numpy as npimgcv2.imread(./2037551.jpg)kernelcv2.getStructuringElement(cv2.MORPH_RECT,(19,19))#顶帽
dst1cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)cv2.imshow(img,img)
cv2.imshow(dst,dst1)
cv2.waitKey(0)十二 黑帽运算
黑帽原图-闭运算
黑帽效果图 黑帽API
morphologyEx(img,MORPH_BLACKHAT,kernel)import cv2
import numpy as npimgcv2.imread(./2037551.jpg)kernelcv2.getStructuringElement(cv2.MORPH_RECT,(19,19))#顶帽
dst1cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)cv2.imshow(img,img)
cv2.imshow(dst,dst1)
cv2.waitKey(0)