彩色直方图(源码实现)

原理:和灰度直方图一样,只是将一个灰度通道换成了三个的RGB通道import cv2import numpy as npimport matplotlib.pyplot as pltimg = cv2.imread('D:/pythonob/imageinpaint/img/flower.jpg',1)imgInfo = img.shapeheight = imgInfo[0]width = imgInfo[1]count_b = np.zeros(256,np.float)count_g = np.zeros(256,np.float)count_r = np.zeros(256,np.float)for i in range(0,height):    for j in range(0,width):        (b,g,r) = img[i,j]        index_b = int(b)        index_g = int(g)        index_r = int(r)        count_b[index_b] = count_b[index_b]+1        count_g[index_g] = count_g[index_g] + 1        count_r[index_r] = count_r[index_r] + 1for i in range(0,256):    count_b[i] = count_b[i]/(height*width)    count_g[i] = count_g[i] / (height * width)    count_r[i] = count_r[i] / (height * width)x = np.linspace(0,255,256)y1 = count_by2 = count_gy3 = count_rplt.figure()plt.bar(x,y1,0.9,alpha = 1 ,color = 'b')plt.figure()plt.bar(x,y2,0.9,alpha = 1 ,color = 'g')plt.figure()plt.bar(x,y3,0.9,alpha = 1 ,color = 'r')plt.show()cv2.waitKey(0)

效果图:
(0)

相关推荐

  • 基于OpenCV的实用图像处理操作

    重磅干货,第一时间送达 图像处理适用于图像和视频.良好的图像处理结果会为后续的进一步处理带来很大的帮助,例如提取到图像中的直线有助于对图像中物体的结构进行分析,良好的特征提取会优化深度学习的结果等.今 ...

  • 使用OpenCV实现图像增强

    重磅干货,第一时间送达 本期将介绍如何通过图像处理从低分辨率/模糊/低对比度的图像中提取有用信息. 下面让我们一起来探究这个过程: 首先我们获取了一个LPG气瓶图像,该图像取自在传送带上运行的仓库.我 ...

  • 基于OpenCV的直方图匹配

    重磅干货,第一时间送达 如何为图像生成直方图,如何使直方图相等,最后如何将图像直方图修改为与其他直方图相似. 01. 什么是图像直方图? 在开始定义直方图之前,为简单起见我们先使用灰度图像,稍后再解释 ...

  • phython+opencv图像处理

    做了两天的直方图均衡,还差一点点,先把前面的发布出来,后面的再慢慢来吧 . 直方图均衡主要是用于增强动态范围偏小的图像. 它的基本思想是把原始图像的直方图变换为在整个灰度范围内均匀分布的形式,这样可以 ...

  • 基于Python查找图像中最常见的颜色

    重磅干货,第一时间送达 01. 准备工作 02. 常用方法 img_temp = img.copy()img_temp[:,:,0], img_temp[:,:,1], img_temp[:,:,2] ...

  • 换脸火了,我用 python 快速入门生成模型

    机器学习算法与Python学习 作为沟通学习的平台,发布机器学习与数据挖掘.深度学习.Python实战的前沿与动态,欢迎机器学习爱好者的加入,希望帮助你在AI领域更好的发展,期待与你相遇! 86篇原创 ...

  • 图像旋转90/180 opencv坐标系

    问题描述: 图像旋转90.180.270等 使用类似下面的代码,会有黑边,图像变形之类的问题 其实windows系统自带类似的功能,但是我需要批量处理图像,因此尝试自己写 算法基础: 这种直角的旋转, ...

  • 【CV】基于阈值处理的图像分割算法!

    图像处理 Author:louwill Machine Learning Lab 基于阈值的图像分割因其处理直观.实现简单和计算速度快,是一种更为常用的传统图像分割算法.本文基于图像灰度阈值处理的基本 ...

  • 在 Google Colab 中使用 OpenCV 进行图像处理简介

    重磅干货,第一时间送达 在这篇文章中,我们将实现如何使用 OpenCV 在 google colaboratory 中进行图像处理.为此,我们应该了解一些 Python 基础知识,下面给出的步骤将帮助 ...

  • 基于OpenCV的图像强度操作

    重磅干货,第一时间送达 01. 什么是图像强度操作 更改任何通道中的像素值 对图像的数学运算 亮度变化 对比度变化 伽玛操纵 直方图均衡 图像预处理中的滤波等增强 使用OpenCV加载图像 impor ...