python opencv——直方图应用
时间:2020-05-22
本文章向大家介绍python opencv——直方图应用,主要包括python opencv——直方图应用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
def equaliHist_demo(image):
gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
dst = cv.equalizeHist(gray) #直方图均衡化,用于提高图像的质量,该函数处理的图片一定是灰度图才可以
cv.imshow('equaliHist_demo',dst)
直方图均衡化
直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法
def clahe_demo(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) clahe = cv.createCLAHE(clipLimit=2.0,tileGridSize=(8,8)) #createCLAHE自适应均衡化图像 dst = clahe.apply(gray) cv.imshow('clahe_demo', dst)
def create_rgb_hist(image): h,w,c = image.shape rgbHist = np.zeros([16*16*16,1],np.float32) bsize = 256 / 16 for row in range(h): for col in range(w): b = image[row,col,0] g = image[row,col,1] r = image[row,col,2] index = np.int(b/bsize)*16*16 + np.int(g/bsize)*16 + np.int(r/bsize) rgbHist[np.int(index),0] = rgbHist[np.int(index),0] + 1 return rgbHist def hist_compare(image1,image2): hist1 = create_rgb_hist(image1) hist2 = create_rgb_hist(image2) match1 = cv.compareHist(hist1,hist2,cv.HISTCMP_BHATTACHARYYA) #巴氏距离 越接近0越相似 match2 = cv.compareHist(hist1,hist2,cv.HISTCMP_CORREL) #相关性 越接近1越相似 match3 = cv.compareHist(hist1,hist2,cv.HISTCMP_CHISQR) #卡方 越小越相似 print('巴氏距离:%s,相关性:%s,卡方:%s'%(match1,match2,match3))
原文地址:https://www.cnblogs.com/kaoyu2/p/12938589.html
- Thrift Direct Memory OOM问题解决方法
- Mapreduce程序中reduce的Iterable参数迭代出是同一个对象
- 内部威胁那些事儿(二):系统破坏
- 从用户行为去理解内容-item2vec及其应用
- Dubbo与Zookeeper、SpringMVC整合和使用(入门级)
- Websocket HandShake Sec-WebSocket-Accept 生成策略
- 关于JVM CPU资源占用过高的问题排查
- ActiveMQ简单介绍以及安装
- Java Process destroy方法kill进程,返回码测试
- 百度人脸识别API Java调用
- Java Socket Timeout总结
- 求一个数组中子数组的最大和算法(Java实现)
- JDBC批量提交SQL的几点问题解答
- 工具推荐: 汽车CAN总线分析框架CANToolz
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Jmeter 常用函数(22)- 详解 __intSum
- Jmeter 常用函数(23)- 详解 __longSum
- Jmeter 常用函数(24)- 详解 __digest
- you-dont-know-websocket
- Cent os 7之KVM虚拟化基础管理
- 常用 Maven 命令介绍
- Linux下diff命令用法详解
- 详解Numpy中的数组拼接、合并操作
- 批量更改图像尺寸到统一大小
- 张东升,我知道是你!如何使用GAN做一个秃头生产器
- Roslyn 在 NuGet 包中放注释 xml 文件的方法
- OpenCV3 图像的加载、修改、显示与保存
- 打卡群刷题总结0727——搜索旋转排序数组 II
- dotnet 的 TaskCompletionSource 的 TrySetResult 是线程安全
- OpenCV 摄像头与视频读取并显示