文档章节

Python OpenCV学习笔记之:计算彩色图像各通道的直方图及图像区域直方图

IOTService
 IOTService
发布于 2016/12/07 11:37
字数 181
阅读 29
收藏 1
# -*- coding: utf-8 -*-
"""
计算彩色图像各通道的直方图及图像区域直方图
"""
import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

img = cv.imread('../../../../datas/images/fish.jpg')
color = ('b','g','r')
plt.subplot(121)
plt.imshow(img)
plt.subplot(122)
for i,col in enumerate(color):
    histr = cv.calcHist([img],[i],None,[256],[0,256])
    plt.plot(histr,color = col)
    plt.xlim([0,256])

# 使用Mask计算某区域直方图
img_gray = cv.cvtColor(img,cv.COLOR_RGB2GRAY)
mask = np.zeros(img_gray.shape[:2],np.uint8)
mask[100:200,100:200] = 255
masked_img = cv.bitwise_and(img_gray,img_gray,mask = mask)
hist_full = cv.calcHist([img],[0],None,[256],[0,256])
hist_mask = cv.calcHist([img],[0],mask,[256],[0,256])

plt.figure()
plt.subplot(221)
plt.imshow(img_gray,'gray')
plt.subplot(222)
plt.imshow(mask,'gray')
plt.subplot(223)
plt.imshow(masked_img,'gray')
plt.subplot(224)
plt.plot(hist_full)
plt.plot(hist_mask)
plt.xlim([0,256])


plt.show()

© 著作权归作者所有

共有 人打赏支持
IOTService
粉丝 16
博文 138
码字总数 30215
作品 0
广州
程序员
人脸检测原理及示例(OpenCV+Python)

前言 关于opencv OpenCV 是 Intel 开源计算机视觉库 (Computer Version) 。它由一系列 C 函数和少量 C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 300 多个 ...

张卫泉
2012/09/12
0
2
OpenCV使用python实现限制对比度的自适应直方图均衡化

前面讲到的自适应直方图均衡化的实现方法首先是将图像划分成不重叠的区域块,让后对每个块分别进行直方图均衡化处理。如果在图像有噪声的情况下这样处理,在每个被分割的小区域块中的噪声就会...

异步社区
06/28
0
0
视频分析(一):Meanshift均值漂移和Camshift算法来查找和跟踪视频中的对象

目标 在这一章当中, 我们将学习Meanshift和Camshift算法来查找和跟踪视频中的对象。 均值漂移 手段背后的直觉很简单。考虑你有一组点。(它可以是像直方图反投影的像素分布)。您会看到一个...

漫步当下
05/19
0
0
Python各类图像库的图片读写方式总结

转载来源:http://www.cnblogs.com/skyfsm/p/8276501.html Python各类图像库的图片读写方式总结 最近在研究深度学习视觉相关的东西,经常需要写python代码搭建深度学习模型。比如写CNN模型相...

chenxueying1993
04/24
0
0
图像检索的三种python实现(直方图/OpenCV/哈希法)

简介: 本文介绍了图像检索的三种实现方式,均用python完成,其中前两种基于直方图比较,哈希法基于像素分布。 检索方式是:提前导入图片库作为检索范围,给出待检索的图片,将其与图片库中的...

漫步当下
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

配置Spring的注解支持

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 配置Spring的注解支持 以上也提到了使用注解来配...

凯哥学堂
30分钟前
0
0
关于Spring Aop存在的一点问题的思考

在本人前面的文章Spring Aop原理之切点表达式解析中讲解了Spring是如何解析切点表达式的,在分析源码的时候,出现了如下将要讲述的问题,我认为是不合理的,后来本人单纯使用aspectj进行试验...

爱宝贝丶
32分钟前
0
0
JavaScript 概述

JavaScript是面向Web的编程语言。绝大多数现代网站都使用了JavaScript,并且所有的现代Web浏览器——基于桌面系统、游戏机、平板电脑和智能手机的浏览器——均包含了JavaScript解释器。这使得...

Mr_ET
今天
0
0
Java Run-Time Data Areas(Java运行时数据区/内存分配)

Java运行时数据区(内存分配) 本文转载官网 更多相关内容可查看官网 中文翻译可参考 2.5. Run-Time Data Areas The Java Virtual Machine defines various run-time data areas that are use...

lichuangnk
今天
0
0
docker learn :services docker-compose.yml

docker-compose.yml定义了服务的运行参数 version: "3" services: web: # replace username/repo:tag with your name and image details image: hub.c.163.com/dog948453219/friendlyhello d......

writeademo
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部