钢轨表面不均匀光照的消除

2024-01-27  本文已影响0人  大龙10

书名:数字图像处理实战
作者:杨坦 张良均
出版社:人民邮电出版社有限公司
出版时间:2023-11-01
ISBN:9787115623850


第9章 钢轨表面缺陷检测

9.3 图像预处理

9.3.1钢轨表面不均匀光照的消除

1、观察
2、分离背景
import cv2   #导入需要用到的库
import numpy as np
from scipy import optimize as op
picture_label = 5 # 指定要读取的图像的标签
mask_path =' ../data/GroundTruth/rail ' + str(picture label)+'.jpg'
Rail_surface_image_path ='.../data/Rail surface images/rail'+str(picture label)+'.jpg'
img = cv2.imread(Rail surface image path)
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#读取数据并灰度化,注意虽然图像是灰度图像,但仍使用RGB三通道格式来保存
# 为了后续处理的方便,
# 在此使用cvtColor函数将图像转化为单通道格式
img_gray = img_gray.T  # 转置图像矩阵,使图像由纵向变为横向

3、扫描线处理算法去除条带干扰
img_gray2 = img_gray.copy()
for i in range(img_gray.shape[e]):
  t = np.median(img_gray[i])  # 计算该行的灰度中值,作为背景的评价标准
  for j in range(img_gray.shape[1]):
    if img_gray2[i][j]> 30 and img_gray2[i][j]> t - 50:#背景像素点的灰度值大于39、大于中值减去50
      img_gray2[i][j]= 255  # 将背景像素点的灰度值设为255
cv2.imshow(' ',img_gray2)
cv2.waitKey(@)
cv2.destroyAllwindows()
4、验证
图9-6 钢轨表面不均匀光照消除效果
上一篇 下一篇

猜你喜欢

热点阅读