python opencv 图像偏色值检验
lab颜色空间实现图像偏色检验算法
- 将rgb图像转到lab空间,实现偏色检验
- 利用opencv的内置函数cv2.COLOR_BGR2LAB
- python代码
- 测试效果
- 结论
将rgb图像转到lab空间,实现偏色检验
参考论文《基于图像分析的偏色检测及颜色校正方法》(徐晓昭)中的方法。文中还有偏色纠正的算法,可能是我实现算法有问题吗,测试结果是那种算法只能针对特定偏色值范围的图形有效。
利用opencv的内置函数cv2.COLOR_BGR2LAB
用内置函数得到的三通道L,a,b的值并不是在规定范围(L: [0, 100], a: [-128, 127], b: [-128, 127]) ,估计其内置函数得到的范围为0-255,因此需要将其归一化
python代码
def color_test(img):b, g, r = cv2.split(img)print(img.shape)m, n, z = img.shapeimg_lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)l, a, b = cv2.split(img_lab)d_a, d_b, M_a, M_b = 0, 0, 0, 0for i in range(m):for j in range(n):d_a = d_a + a[i][j]d_b = d_b + b[i][j]d_a, d_b = (d_a / (m * n)) - 128, (d_b / (n * m)) - 128D = np.sqrt((np.square(d_a) + np.square(d_b)))for i in range(m):for j in range(n):M_a = np.abs(a[i][j] - d_a - 128) + M_aM_b = np.abs(b[i][j] - d_b - 128) + M_bM_a, M_b = M_a / (m * n), M_b / (m * n)M = np.sqrt((np.square(M_a) + np.square(M_b)))k = D / Mprint('偏色值:%f' % k)return
测试效果
k=2.61
k=0.57
k=2.23
k=0.48
结论
基本符合其他算法的情况。
python opencv 图像偏色值检验相关推荐
- python opencv 图像膨胀
python opencv 图像膨胀 代码: import cv2 import numpy as np # 图像膨胀 def dilate_img(img,a,iterations):kernel ...
- python opencv 图像旋转
python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...
- python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例
python opencv 二值化 计算白色像素点的实例 贴部分代码 #! /usr/bin/env python # -*- coding: utf-8 -*- import cv2 import ...
- 【Python+OpenCV 图像透视变换 warpPerspective函数】
Python+OpenCV 图像透视变换 warpPerspective函数 1.函数介绍 2.代码实例 3.实现效果 1.函数介绍 warpPerspective():对图像进行透视变换.简单来说, ...
- 【Python+OpenCV 图像的缩放和裁剪】
Python+OpenCV 图像的缩放和裁剪 代码部分 实现效果 代码部分 import cv2 import numpy as npimg = cv2.imread("Photos/1.b ...
- Python OpenCV 图像缩放 cv2.resize 方法
今天是持续写作的第 42 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客只学习一个方法,cv2.resize 即图像缩放. 取经之旅第 9 天 铺垫知识 resize 方 ...
- Python OpenCV 图像平移,取经之旅第 10 天
今天是持续写作的第 43 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客学习 OpenCV 中关于图像平移的方法,核心学习到的方法是 warpAffine . 取经之旅第 ...
- Python OpenCV 图像的几何变换,先说不平凡的 resize 函数
Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 41 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...
- python opencv 图像网络传输
本代码主要实现的是利用网络传输图片,用在我的树莓派项目之上.该项目在PC上运行服务端,树莓派上运行客户端,两者连接到同一局域网中,修改代码中的IP地址,就可以实现将树莓派采集到的图像数据实时传输到PC ...
最新文章
- 两张照片重叠处半透明_手机可以“抛起来”拍照,给你的照片换个角度
- OpenCV FLANN在数据集中搜索查询图片的实例(附完整代码)
- 操作系统分区分配java算法_合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc...
- 高并发高性能服务器是如何实现的
- 如何通过TortoiseGit(小乌龟)把本地项目上传到github上
- Nginx源码分析 - HTTP模块篇 - HTTP模块的初始化(20)
- java的HashCode方法(转载)
- 为什么会出现35岁就失业的魔咒?
- Visual Studio 2013 编译Notepad++源码
- setTimeout 方法用于在指定的毫秒数后调用函数或计算表达式
- php对接易宝支付实现真实交易
- 软件测试典型缺陷分析,软件测试缺陷分析方法简介
- 计算机主机并行接口,计算机并行接口技术原理.ppt
- c语言变量表达式计算器,C语言表达式计算器~
- 如何将excel里的数据导入到mysql中
- Lync 2010升级到Lync 2013 之部署WAC 角色服务器!
- 天翼云服务器迁移阿里云_云迁移策略:如何建立专家团队
- python培训班报名
- 基于zxing生成二维码
- 仿网易蜗牛读书小程序