当前位置: 首页 > article >正文

灰度图处理方法

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

一,多维数组可视化

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

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

二,对比度拉伸

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

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

 三,灰度拉伸

拉伸灰度加强对比

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

 

 


http://www.kler.cn/a/132726.html

相关文章:

  • Oracle 19c PDB克隆后出现Warning: PDB altered with errors受限模式处理
  • Unity3D 完整直升机控制器(虚拟仿真级别)
  • w039基于Web足球青训俱乐部管理后台系统开发
  • AI驱动的桌面笔记应用Reor
  • Notepad++的完美替代
  • SOLIDWORKS Toolbox:一键自动化,让紧固件与零部件管理更高效
  • WPF异步编程
  • 手动编译GDB
  • 使用CXF调用WSDL(二)
  • ascii 码对照表
  • LeetCode704.二分查找及二分法
  • Filter和ThreadLocal结合存储用户id信息
  • 傅里叶分析(2)
  • elementui 实现树形控件单选
  • 哈希
  • 解决Redis分布式锁宕机出现不可靠问题-zookeeper分布式锁
  • kubernetes|云原生| 如何优雅的重启和更新pod---pod生命周期管理实务
  • QGIS003:【05高级数字化工具栏】-要素移动、修改、合并操作
  • Hadoop学习总结(MapRdeuce的词频统计)
  • 【原创】java+swing+mysql鲜花购物商城设计与实现
  • ATTCK实战系列——红队实战(一)
  • Alibaba Nacos注册中心源码剖析
  • 6.6.比例尺图层(ScaleBarOverlay)
  • Django框架之模型层(一)
  • 2023.11.17-hive调优的常见方式
  • nodeJs基础笔记