• 灰度图处理方法


    做深度学习项目图像处理的时候常常涉及到灰度图处理,这里对自己处理灰度图的方式做一个记录,后续有更新的话会在此更新

    一,多维数组可视化

    将多维数组可视化为灰度图

    1. img_gray = Image.fromarray(img, mode='L') # 实现array到image的转换,model 常用的模式有‘1’,‘L’,‘RGB’, 1是二值图像,L是灰度图像,RGB是彩色图像
    2. img_gray.show() # 显示灰度图

    二,对比度拉伸

    拉伸对比图突出想可视化的部分

    1. # 对比度拉伸
    2. Imax = np.max(img) # img是多维数组,输入灰度图的时候注意先np.array转一下
    3. Imin = np.min(img)
    4. MAX = 1200
    5. MIN = 0
    6. img_cs = (img - Imin) / (Imax - Imin) * (MAX - MIN) + MIN # img_cs是多维数组
    7. cv2.imshow('img_cs', img_cs.astype("uint8")) # 可视化
    8. cv2.waitKey(0)
    9. cv2.destroyAllWindows()

     三,灰度拉伸

    拉伸灰度加强对比

    1. def gray_scale(img_gray):
    2. img_gray = np.array(img_gray) # 转多维数组
    3. rows, cols = img_gray.shape
    4. flat_gray = img_gray.reshape((cols * rows,)).tolist()
    5. min1 = min(flat_gray)
    6. max1 = max(flat_gray)
    7. print('min = %d, max = %d' % (min1, max1))
    8. output = np.uint8(255 / (max1 - min1) * (img_gray - min1) + 0.5)
    9. return output
    10. img_gray = Image.fromarray(img, mode='L') # 实现array到image的转换,model 常用的模式有‘1’,‘L’,‘RGB’, 1是二值图像,L是灰度图像,RGB是彩色图像
    11. grayScale = gray_scale(img_gray) # 灰度拉伸
    12. cv2.imshow('grayScale', grayScale) # 显示拉伸后的灰度图
    13. cv2.waitKey(0)
    14. cv2.destroyAllWindows()

     

     

  • 相关阅读:
    软件项目管理 7.5.项目进度模型(SPSP)
    【Qt开发流程之】窗口部件
    米勒拉宾算法——素性测试
    性能测试-基础篇
    Promise笔记
    如何把word的页眉页脚改为图片
    NestJS入门6:日志中间件
    Xcode15下载iOS17一直中断解决办法
    38Java Math类
    【JavaEE】多线程(Part3线程安全)
  • 原文地址:https://blog.csdn.net/m0_73832962/article/details/134415894