最近在做一个用unet神经网络识别种子出苗率的项目(种子贼小,分辨率还贼低),由于识别的效果不太好,只能对图像做预处理了。。。预处理选用的是ps中的色阶处理,可是cv2等图像库中没有现成的函数,只能自己一点一点搜资料,找到了ps中色阶调整的计算公式。
以下是ps中的色阶窗口

左边黑三角叫做黑场,中间叫做灰场,右边叫做白场,上面的图是分布直方图,表示每个色阶的数量,开始我天真的以为色阶调整是把低于黑场的像素值设置为0,高于白场的设为255就行,后来这么写出来后,发现事情并不简单,根本不是想要的效果,然后又去各种搜博客,终于,我发现了一位老哥的博客:https://blog.csdn.net/maozefa/article/details/43971063
太感谢这位老哥了,大家有公式不懂的可以去看看。
根据他给的公式,我用python实现了一下:

'''用于图像预处理,模拟ps的色阶调整img:传入的图片Highlight:白场(Shadow-255)Shadow:黑场(0-Highlight)0 <= Shadow < Highlight <= 255返回一张图片
'''def Whiite_Black_Level_Pretreatment(self, img, Shadow,Highlight):if Highlight > 255:Highlight = 255if Shadow < 0:Shadow = 0if Shadow >= Highlight:Shadow = Highlight - 2# 转类型img = np.array(img, dtype=int)# 计算白场黑场离差Diff = Highlight - Shadow# 计算系数coe = 255.0 / DiffrgbDiff = img - ShadowrgbDiff = np.maximum(rgbDiff, 0)img = rgbDiff * coe# 四舍五入到整数img = np.around(img, 0)# 变为int型img = img.astype(int)return img

注意我这里没有关系到中间的灰场和输出色阶,我的灰场默认为1.0,如果需要用到灰场,需要实现这里:
效果:当黑场为81,白场为161时:
原图:

处理后:

python实现简单的ps色阶调整过程相关推荐

  1. PS 色阶调整之算法公式原理详解及 Python 实现(色阶原理)

    本文介绍了 PS 中色阶的实现原理及公式,并用 Python 实现,自测与 PS 的色阶调整效果基本完全一样(使用和 PS 中色阶相同的参数对比效果,包括各极限值,本文只实现了 RGB 整体色阶的处理 ...

  2. python 操作ps_Python实现PS图像调整黑白效果示例

    本文实例讲述了Python实现PS图像调整黑白效果.分享给大家供大家参考,具体如下: 这里用Python 实现 PS 里的图像调整–黑白,PS 里的黑白并不是简单粗暴的将图像转为灰度图,而是做了非常精 ...

  3. 用python实现简单五子棋游戏的练习过程

    用python实现五子棋简单人机模式的练习过程 第一次写博客,我尽力把它写好. 最近在初学python,今天就用自己的一些粗浅理解,来记录一下这几天的python简单人机五子棋游戏的练习,下面是实现过 ...

  4. python 操作ps_Python实现PS图像调整之对比度调整功能示例

    本文实例讲述了Python实现PS图像调整之对比度调整功能.分享给大家供大家参考,具体如下: 这里用 Python 实现 PS 里的图像调整–对比度调整.具体的算法原理如下: (1).nRGB = R ...

  5. opencv 实线PS色阶调整

    #include <opencv2/opencv.hpp> #include <iostream>using namespace cv;class Level {public: ...

  6. python 实现ps色阶算法

    最近做一个分析图片色块的脚本,使用了opencv的自动色阶,感觉非常难用,针对不同图片得出的结果差强人意,然后发现ps手动调整色阶输出非常稳定,然后根据这两篇文章就有了这个函数. 本文章>> ...

  7. C++图像处理 -- 图像色阶调整

    原网址:http://blog.csdn.net/maozefa/article/details/43971063 阅读提示:     <C++图像处理>系列以代码清晰,可读性为主,全部使 ...

  8. ps色阶怎么用:一招搞定曝光调整 | 萧蕊冰

    今天我们的小教程是有关ps色阶的,大家知道ps色阶怎么用吗?是否有在PS当中使用到呢,今天就跟着萧蕊冰一起来学习一些色阶小知识,色阶的用处呢,主要是可以搞定照片的对比度.黑场.白场.整体亮度等等曝光调 ...

  9. python黑的调白的_Python实现PS图像调整黑白效果示例

    本文实例讲述了Python实现PS图像调整黑白效果.分享给大家供大家参考,具体如下: 这里用Python 实现 PS 里的图像调整–黑白,PS 里的黑白并不是简单粗暴的将图像转为灰度图,而是做了非常精 ...

最新文章

  1. Ubuntu 和 Redhat / Fedora 服务管理命令对比表(附Fedora16新的服务管理工具systemctl )...
  2. Android, BaseAdapter 处理大数据量时的优化
  3. 如何在vs 下敲linux代码且具有提示功能
  4. Spring Cloud Alibaba 消息队列:基于 RocketMQ 实现服务异步通信
  5. linux命令gcc常用选项
  6. hdu 1226(bfs+同余剪枝)
  7. MATLAB新手教程
  8. Cloud for Customer里UI5 JavaScript代码和UI designer里模型的对应关系
  9. 线性表的定义和基本运算之线性结构
  10. 什么是计算机系统计算机硬件和计算机软件,什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?...
  11. [软件]Beyond Compare
  12. sklearn 3. 实例:随机森林在乳腺癌数据上的调参
  13. 湖南师范大学数学与计算机学院郭水霞,湖南师范大学数学与计算机科学学院2013备考手册...
  14. ChinaJoy是什么
  15. 为RedHat系统安装发布版的PostgreSQL数据库
  16. Axure绘制开关按钮
  17. PLC中忘记cpu密码怎么办?
  18. NGUI字体制作(UIFont)
  19. element.style样式如何修改
  20. 虚拟现实(VR)、增强现实(AR)、混合现实(MR)

热门文章

  1. SitePoint Podcast#181:解决比创建更多的问题
  2. 通俗易懂告诉你CPU/GPU/TPU/NPU...都是什么意思?
  3. 一文多图搞定制作自己的VOC数据集+使用yolov4训练自己的数据集+封装video测试脚本(基于ubuntu)
  4. 个人博客标签和文章的表结构设计
  5. 2022-2028全球LED气球灯行业调研及趋势分析报告
  6. vscode键位错乱
  7. linux内核设置mac地址,Linux下如何修改网卡MAC地址
  8. 【托福考场考点1】山东大学托福考点详情及考友评价
  9. 【Excel 教程系列第 6 篇】制作斜线表头
  10. S3C2440之IIC裸机驱动