import cv2 as cv

import numpy as np

from matplotlib import pyplot as plt

‘’’

def plot_demo(image): #直方图

plt.hist(image.ravel(), 256, [0, 256])

plt.show()

def image_hist(image): #每一个通道的直方图

color = (‘blue’, ‘green’, ‘red’)

for i, color in enumerate(color):

hist = cv.calcHist([image], [i], None, [256], [0, 56])

plt.plot(hist, color=color)

plt.xlim([0, 256])

plt.show()

def equalHist_demo(image): #直方图均衡化,只能对灰度图进行

gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)

dst = cv.equalizeHist(gray)

cv.imshow(“equalHist_demo”, dst)

‘’’

def calhe_demo(image): #局部均衡化

gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)

clahe = cv.createCLAHE(clipLimit=5.0, tileGridSize=(8,8))

dst = clahe.apply(gray)

cv.imshow(“calhe_demo”, dst)

def create_rbg_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_rbg_hist(image1)

hist2 = create_rbg_hist(image2)

match1 = cv.compareHist(hist1, hist2, cv.HISTCMP_BHATTACHARYYA) #巴氏距离

match2 = cv.compareHist(hist1, hist2, cv.HISTCMP_CORREL) #相关系数

match3 = cv.compareHist(hist1, hist2, cv.HISTCMP_CHISQR) #卡方

print(“巴氏距离 : %s, 相关性 : %s, 卡方 : %s”%(match1, match2, match3))

print("-----------helli python--------------")

src = cv.imread(“E:/image/lena1.tiff”)

cv.namedWindow(“input image”, cv.WINDOW_AUTOSIZE)

#cv.imshow(“input image”, src)

#equalHist_demo(src)

#calhe_demo(src)

image1 = cv.imread(“E:/image/lena1.jpg”)

image2 = cv.imread(“E:/image/pepper1.tiff”)

cv.imshow(“image1”, image1)

cv.imshow(“image2”, image2)

create_rbg_hist(image1)

hist_compare(image1, image2)

cv.waitKey(0)

cv.destroyAllWindows()

python opencv 直方图均衡化_Python opencv—直方图/直方图均衡化/直方图比较,pythonopencv...相关推荐

  1. python人脸照片分类_Python OpenCV 人脸识别(一)

    前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...

  2. python opencv 读取图片_Python opencv 读取图像

    对于 matlab 起家做数字图像处理的人来讲都非常适应matlab对图像处理的操作和思路,尤其是它可以非常方便直观的看到图像的RGB值. 由于最近在研究深度学习的计算机视觉方面的东西,于是完全自学接 ...

  3. python ocr 识别车牌_python+opencv+TESSERT-OCR实现车牌的检测与识别

    python+opencv+TESSERT-OCR实现车牌的检测与识别 开学花了十天时间0基础搞出来的,分享给大家,如果有什么错误希望大家给我指正.python师从小甲鱼,opencv师从贾志刚,B站 ...

  4. python数学计算例子_Python OpenCV实例:直方图计算(数学公式简单实现)

    #coding:utf-8 ''' 直方图 ''' import cv2 import numpy as np import matplotlib.pyplot as plt ''' 计算RGB图像每 ...

  5. python控制摄像头拍照_python+opencv+pyqt5控制摄像头在Qlabel上显示

    import cv2 import numpy as numpy from PIL import * import sys from PyQt5.QtWidgets import * from PyQ ...

  6. python相似图片识别_Python+Opencv识别两张相似图片

    Python+Opencv识别两张相似图片 在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话 ...

  7. python图像缺陷检测_python OpenCV 实现缺陷检测

    机器视觉第七次实验 一.实验目的 通过OpenCV第七次进行实验,对图片进行缺陷检测. 二.实验内容 对图片进行缺陷测量. 三.实验过程 我使用的是python语言+openCV对图片进行缺陷检测的功 ...

  8. python识别图片中数字_Python Opencv识别两张相似图片

    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...

  9. python图片旋转脚本_Python+OpenCV 实现图片无损旋转90°且无黑边

    0. 引言 有如上一张图片,在以往的图像旋转处理中,往往得到如图所示的图片. 然而,在进行一些其他图像处理或者图像展示时,黑边带来了一些不便.本文解决图片旋转后出现黑边的问题,实现了图片尺寸不变的旋转 ...

最新文章

  1. 西南往事回忆录—工作点滴
  2. 用UltraEdit判断打开文件的编码类型 用UltraEdit或notepad记事本查看文件编码格式 用UltraEdit查看当前文件编码...
  3. [NOTE] sqli-labs Basic Challenges
  4. python - 基础算法题1- 使用while循环输入1 2 3 4 5 6 8 9 10
  5. SCCM 2012 R2 从入门到精通 Part8 软件部署
  6. csu 1196 - 去爬山
  7. 金币 详解(C++)
  8. 一篇关于arc下内存管理的老文章,包含各种冷门修饰符(关于内存),写的较好,mark...
  9. 产品经理必看书籍推荐
  10. win10经常无法复制粘贴
  11. .NET Framework各个版本(4.5)
  12. ARM NEON优化3.RGB Packed转RGB Planar
  13. codecombat极客战记森林(JavaScript)21-40关卡
  14. 【元胞自动机】元胞自动机森林大火【含Matlab源码 235期】
  15. Servlet相关简介及使用教程
  16. 在国企的日子(第五章 江湖)
  17. Codeforces-797E-Array Queries(dp)
  18. 当AI和德国队搭上关系,后果为何都不堪一击?
  19. Wondershare Filmora 8.3.5.6 (x64) Setup + Keygen
  20. 家校互通平台“我的班”完成Pre-A 轮融资,弘帆资本投资

热门文章

  1. 微信公众帐号开发教程第12篇-符号表情的发送(下)
  2. apt-get安装与卸载
  3. js动态生产table、Div、select
  4. [转]activity的启动方式(launch mode)
  5. 面试题:在O(1)空间复杂度范围内对一个数组中前后连段有序数组进行归并排序...
  6. 将字典直接写入文件,出现中文乱码问题
  7. Unity3d札记 --TanksTutorial收获与总结
  8. i美股投资研报--Michael Kors(IPO版) _Michael Kors(KORS) _i美股
  9. 和我一起学Windows Workflow Foundation(1)-----创建和调试一个WF实例
  10. mysql管理密码修改及管理权限设定(zz)