img=ead(‘‘)
rows,cols,channels=pe
cropped=img[0:479,0:cols]
转换hsv
hsv=color(cropped,or_bgr2hsv)
图片二值化处理,把[240,240,240]~[255,255,255]以外的颜色变成0
thresh=ange(hsv,ay([90,10,125]),ay([135,180,255]))
erode=de(thresh,none,iterations=2)
dilate=ate(erode,none,iterations=0)
创建形状和尺寸的结构元素
kernel=s((3,3),t
2、图像修复:
在扩张修复区域的基础上外加调整像素值图片处理。
其中腐蚀操作详细如下:
定义了一个十字形结构元素其实是一个矩阵,我们知道在图片的腐蚀过程,对图片的每个点,使用这个结构扫描每一个点,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像的该像素为1。否则为0,腐蚀处理的结果是使原来的二值图像减小一圈。使用的函数:de(img,kernel);
膨胀操作详细如下:
使用同样的结构,对图片的每个点,使用这个结构扫描每一个点,用结构元素与其覆盖的二值图像做“与”操作,如果出现1,结果图像的该像素为1。否则为0,腐蚀处理的结果是使原来的二值图像扩大一圈。使用的函数:ate(img,kernel)
详细代码如下:
扩张待修复区域
hi_mask=ate(dilate,kernel,iterations=1)
specular=aint(cropped,hi_mask,-5,flags=aint_ns)
合并
htich=ack((specular,img[479:rows,0:cols]))
‘
blue=[]
获取mask,调整lower中h控制颜色
lower_blue=ay([90,10,125])
upper_blue=ay([135,180,255])
mask=ange(hsv,lower_blue,upper_blue)
erode=de(mask,none,iterations=1)
dilate=ate(erode,none,iterations=1)
腐蚀膨胀
erode=de(mask,none,iterations=1)
how(‘erode‘,erode)
dilate=ate(erode,none,iterations=1)
how(‘dilate‘,dilate)
foriinrange(rows):
forjinrange(cols):
ifdilate[i,j]==255:
end([i,j])
forwinblue:
x=w[0]
y=w[1]
img[x,y]=[255,255,255]
‘
rite(“dels_test/“+str(sta)+“.jpg“,htich)
‘
how(‘mask‘,img)
tkey(0)
troyallwindows()
‘