让颜色更加饱满和有冲击力:图像颜色校正
大家拍照或图片时,获取会遇到图像颜色与实际颜色存在色差的现象。我们看一个标准色卡的图片:
相机拍出有色差的色卡图像
色卡图标准图像
第一张图片就是有色差的图片,这种现象一般是相机或光线的原因造成的,我们可以通过标准色卡进行校正。
第一张图片是有色差的图片拍摄的标准色卡图片,第二张是标准色卡的正常图片,其实我们只要拿到两张色卡的颜色转换关系就可以解决这个问题了。
当然,我们的第一张色卡有些畸变,最好做一个校正,我这里为了演示效果没有做这方面的处理。但白平衡时必须的:
''''
### 白平衡演示代码:defimage_balance(imagefile):src=cv2.imread(imagefile)src_copy=src.copy()b,g, r = cv2.split(src)r_avg=cv2.mean(r)[0]g_avg=cv2.mean(g)[0]b_avg=cv2.mean(b)[0] # 求各个通道所占增益k=(r_avg + g_avg + b_avg) / 3kr=k / r_avgkg=k / g_avgkb=k / b_avgr=cv2.addWeighted(src1=r, alpha=kr, src2=0, beta=0, gamma=0)g=cv2.addWeighted(src1=g, alpha=kg, src2=0, beta=0, gamma=0)b=cv2.addWeighted(src1=b, alpha=kb, src2=0, beta=0, gamma=0)balance_img=cv2.merge([b, g, r])imgs=np.hstack([src_copy, balance_img])cv2.namedWindow("imgs",0)cv2.imshow("imgs",imgs)cv2.waitKey(0)defimage_balance_v2(imagefile):src=cv2.imread(imagefile)src_copy=src.copy()final=cv2.cvtColor(src,cv2.COLOR_BGR2LAB)avg_a=np.average(final[:, :, 1])avg_b=np.average(final[:, :, 2])forx in range(final.shape[0]):fory in range(final.shape[1]):l,a,b=final[x,y,:]l*=100/255.0final[x,y, 1] = a - ((avg_a - 128)*(l/100)*1.1)final[x,y, 2] = b - ((avg_b - 128) * (l / 100) * 1.1)final=cv2.cvtColor(final,cv2.COLOR_LAB2BGR)imgs=np.hstack([src_copy, final])cv2.namedWindow("imgs",0)cv2.imshow("imgs",imgs)cv2.waitKey(0)
''''
最后我选择完美反射算法进行白平衡处理。再接下来就是对两张色卡图片进行拟合,获得转换系数,这个很简单就不具体说了,拟合效果如下:
#### 颜色校准方法测试:url_path ="https://img2.baidu.com/it/u=3233561313,355379518&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=375"src = url2img(url_path)image_color_correction(src)
下面看一下具体结果:
示例1:
示例2:
示例3:
今天就分享到这里, 我是paperClub。
备注:WeiXin 搜索paperClub, 添加关注并回复【666】即可获取使用方法。
1. 感谢各位小伙伴的关注, 您的点赞、鼓励和留言,都是我深夜坚持的一份动力,无论褒贬,都是我们行进途中最好的回馈,也都会被认真对待。
2. 我将持续分享各类、好玩且有趣的算法应用及工程和项目,欢迎分享和转发。沟通、学习和交流,请与我联系,虽然平时忙,但留言必回,勿急,感谢理解!
3. 分享内容包括开源项目和自研项目,如在引用或使用时,考虑不周、遗漏引用信息或涉及版权等,请您及时联系。如果您对某些内容感兴趣,我们可以一起讨论、交流和学习。
让颜色更加饱满和有冲击力:图像颜色校正相关推荐
- 图像颜色校正的几种方法
9197 转载路径https://blog.csdn.net/liu_xiao_cheng/article/details/50552762 注:本文主要参考"彩色人脸图像颜色校正及其在肝病 ...
- ITK:将颜色贴图应用于图像
ITK:将颜色贴图应用于图像 内容提要 输出结果 输入 输出 C++实现代码 内容提要 将色彩映射表应用于图像 输出结果 输入 输出 C++实现代码 #
- OpenCV系列四 --- 颜色通道分离与多通道图像混合
今天呢,我们一起来学习彩色图像的颜色通道分离与多通道图像混合,一般情况下,我们大多数看到的图像都是基于RGB颜色通道的图像,因此要实现颜色通道的分离,即要将R.G.B三个通道分离,而多通道图像混合,即 ...
- 图标.svg html怎么换颜色,如何改变SVG图像的颜色使用CSS(jQuery SVG图像替换)?
首先,在HTML中使用IMG标记嵌入SVG图形.我使用Adobe Illustrator来制作图形. 这就像你如何嵌入一个正常的图像.注意,您需要将IMG设置为具有svg的类. "社交链接& ...
- python 图像填充颜色_Opencv:在轮廓图像中填充颜色
你应该把图像二值化.findContours只有在图像中只有黑白两种颜色时才能正常工作.在 所以你应该看看图像中的每个像素和阈值.如果低于某个值,则将其设为黑色,反之则将其设为白色.对我来说,提供的图 ...
- msr颜色复原matlab程序,Retinex 图像去模糊(含MATLAB代码)
Retinex 图像去模糊 Retinex 理论: Retinex是由 Retina + Cortex 组成,被称为视网膜皮层理论. 该理论指出 物体能够被观察到的信息是由两个因素来决定的:物体本身的 ...
- PS图像和颜色基础:位图图像与矢量图像的区别
大家在使用各种软件创建不同类型的复合图像和图稿时,会遇到基本的数字图像类型 - 栅格图像(位图图像)和矢量图像,本文将会为大家介绍这两者的区别. 获取:https://mac.orsoon.com/? ...
- python 绘图 背景颜色_python作图坐标轴与图像标签、画布背景的颜色设置
续接上篇,先说画布颜色设置. 颜色设置,需要两处,画布及绘图区(绘图区就按Excel作图的来吧) 画布的背景颜色设置 fig = plt.figure(figsize=(15,12),facecolo ...
- python颜色填充函数_【图像后处理】python+OpenCV填充孔洞
我们在进行图像分割后,分割结果有时会有一些小孔洞,如图1所示,其中黑白两色表示两种不同的类别.一般情况下,这些孔洞属于错分情况,为了优化结果,我们通常对这些孔洞进行填充.今天我们就用python语言基 ...
最新文章
- 不好好学习会被AI开除的!俄罗斯校园将启用AI,识别差生,建议开除
- 首届世界CSS设计大赛结果揭晓
- 修复版GEP宝塔内嵌版全解源码
- 国际运营版Java区块链交易所源码币币+法币+永续+期权+机器人
- Hexo 入门指南(七) - 评论 分享
- 使用青云主机的GPU主机教程(不完整版)
- 关于stm32f407搭载wifi模块_华为智能体脂秤WiFi版体验:家庭标配的智能家居
- 激活函数- relu vs sigmoid
- vue导出excel表格(详细教程)
- 阵列信号处理仿真一——延时求和滤波器
- Hadoop之纠删码
- 智遥工作流中调用SAP基础数据
- vsftpd命令详解
- 白领学python_白的解释|白的意思|汉典“白”字的基本解释
- 9、Go语言channel的操作
- Nacos只发现不注册
- java和js实现省市县级连
- CBCT重建保姆级入门(三)
- 京东7亿美元投资兴盛优选,买到了什么?
- Linux云计算面试常见问题三
热门文章
- Executor多线程框架学习笔记(五):FutureTask
- docker in docker (dind)、all in one (aino),关于docker和Linux的一些另类用法
- java xms xmx 默认值,JVM启动参数-Xmx的默认值是多少?
- Service完全解析
- SIM800C(GPRS)服务器通信
- 列表的查询--Python
- linux后渗透痕迹清除
- ceph volume删除失败,报错this volume is currently watched, operation not allowed
- IMPDP/EXPDP + network_link的使用
- 适合iPhone13的分体式蓝牙耳机有哪些?分体式蓝牙耳机推荐