文档章节

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

IOTService
 IOTService
发布于 2016/12/07 11:37
字数 181
阅读 39
收藏 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
粉丝 22
博文 153
码字总数 34417
作品 0
广州
其他
私信 提问
[Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图

版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/83758402 该系列文章是讲解Python OpenCV图像处理知识,前...

Eastmount
2018/11/06
0
0
[Python图像处理] 十四.基于OpenCV和像素处理的图像灰度化处理

版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/88785768 该系列文章是讲解Python OpenCV图像处理知识,前...

Eastmount
03/25
0
0
[Python图像处理] 十二.图像几何变换之图像仿射变换、图像透视变换和图像校正

版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/88679772 该系列文章是讲解Python OpenCV图像处理知识,前...

Eastmount
03/20
0
0
人脸检测原理及示例(OpenCV+Python)

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

张卫泉
2012/09/12
0
2
[Python图像处理] 三.获取图像属性、兴趣ROI区域及通道处理

版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/82177300 该系列文章是讲解Python OpenCV图像处理知识,前...

Eastmount
2018/08/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

“旧城改造”的背后——银泰新零售阿里云解决方案(上)

相关免费课程《银泰新零售上云解决方案精讲》上线中 立足实战 讲透经典案例 助你快速理解新零售 第一节学习地址 第二节学习地址 传统线下商业体上云的案例 与其说银泰上云,倒不如说银泰“旧...

阿里云官方博客
29分钟前
2
0
记一次升级Oracle驱动引发的死锁

问题描述 近期项目需要从虚拟机环境迁移到容器环境,其中有一个项目在迁移到容器环境之后的两天之内出现了2次“死锁(deadlock)”的问题,部分关键日志如下: Found one Java-level deadlock:...

ksfzhaohui
31分钟前
14
0
MySQL 中的 information_schema 数据库

欢迎查看原文 - 本博客仅记录 https://blog.csdn.net/kikajack/article/details/80065753 -- 是否开启bin_log日志: off为关闭-- show variables like 'log_%'; show variables like '......

莫库什勒
38分钟前
1
0
Random在高并发下的缺陷以及JUC对其的优化

Random可以说是每个开发都知道,而且都用的很6的类,如果你说,你没有用过Random,也不知道Random是什么鬼,那么你也不会来到这个技术类型的社区,也看不到我的博客了。但并不是每个人都知道...

编程SHA
43分钟前
2
0
T5大牛带你解析:如何实现分布式技术

1.分布式事务 2. 分布式锁 Java 原生 API 虽然有并发锁,但并没有提供分布式锁的能力,所以针对分布式场景中的锁需要解决的方案。 分布式锁的解决方案大致有以下几种: 基于数据库实现 基于缓...

李红欧巴
55分钟前
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部