前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >opencv学习笔记--直方图的均值化

opencv学习笔记--直方图的均值化

作者头像
用户2965768
发布2018-08-30 15:27:38
4.8K0
发布2018-08-30 15:27:38
举报
文章被收录于专栏:wymwym

opencv中图像的均值化都是基于灰度图的。

直方图的均值化能提高图片的对比度。

    下面介绍两种方法

  • 自带函数均值化
  1. cv.equalizeHist()
  2. 参数: 输入一个8比特的单通道图像
  • 自定义均值化
  • 上述的直方图均衡化可以可能到是一种全局意义上的均衡化,但是有的时候这种操作并不是很好,会把某些不该调整的部分给调整了。Opencv中还有一种直方图均衡化,它是一种局部局部来的均衡化,也就是是说把整个图像分成许多小块(比如按10*10作为一个小块),那么对每个小块进行均衡化。这种方法主要对于图像直方图不是那么单一的(比如存在多峰情况)图像比较实用。Opencv中将这种方法称之为CLAHE,使用到的函数就是cv2.createCLAHE(),一个实例如下:
  1.           createCLAHE([, clipLimit[, tileGridSize]]) -> retval
  2. clipLimit参数表示对比度的大小。 tileGridSize参数表示每次处理块的大小 。
代码语言:javascript
复制
import cv2 as cv
from matplotlib import  pyplot as plt


def equalHist_demo(image):
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    dst = cv.equalizeHist(gray)
    cv.imshow("equal", dst)


def myequal(image):
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    clahe = cv.createCLAHE(clipLimit=5.0, tileGridSize=(8, 8))
    dst = clahe.apply(gray)
    cv.imshow("myequal", dst)


src = cv.imread("D://work//long.jpg")
cv.imshow("yuantu",src)
equalHist_demo(src)
myequal(src)
cv.waitKey(0)
cv.destroyAllWindows()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年08月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档