我是Opencv的新人

我试着手工做直方图均衡化,不知怎么的我的输出是

this

首先,我将格式转换为YCR\u CB格式,然后将其拆分为y、cr和CB。然后我在y层做了直方图均衡化处理

我的代码是:from __future__ import division

import cv2

import numpy as np

img1 = cv2.imread("sup.jpg")

img2 = cv2.cvtColor(img1,cv2.COLOR_BGR2YCR_CB)

y,cr,cb = cv2.split(img2)

#y = cv2.equalizeHist(y)

x =y

height,width = y.shape

hist = [0]*256

pmf = [0]*256

cdf = [0]*256

levelBaru = [0]*256

cv2.imshow("y before",x)

cv2.waitKey(0)

for i in range(0,height):

for j in range(0,width):

hist[y.item(i,j)] += 1

#hist[y[i,j]] += 1

for i in range(0,256):

#cari pmf

pmf[i] = round(hist[i]/(height*width),4)

print "pmf done"

cdf[0] = pmf[0]

for i in range(1,256): #cari cdf

cdf[i] = cdf[i-1]+pmf[i]

for i in range(1,256): #cari levelBaru

levelBaru[i] = int(cdf[i]*255)

for i in range(0,height): #baru

for j in range(0,width):

for k in range (0,256):

if(y.item(i,j)==k):

#print i," ",levelBaru[i]

y.itemset((i,j),levelBaru[k])

img2 = cv2.merge((y,cr,cb))

img2 = cv2.cvtColor(img2,cv2.COLOR_YCR_CB2BGR) #supaya ga error pas di stack

#cv2.namedWindow('result', cv2.WINDOW_NORMAL)

cv2.imshow('result',img2)

cv2.waitKey(0)

cv2.destroyAllWindows

有点难找虫子,如果有人能帮我那就太棒了

python 直方图均衡化_彩色图像直方图均衡化Python相关推荐

  1. python编程基础_月隐学python第2课

    python编程基础_月隐学python第2课 学习目标 掌握变量的输入和输出 掌握数据类型的基本概念 掌握算数运算 1.变量的输入和输出 1.1 变量输入 使用input输入 input用于输入数据 ...

  2. 查看Python的版本_查看当前安装Python的版本

    一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...

  3. python opencv 直方图均衡_深入理解OpenCV+Python直方图均衡化

    原标题:深入理解OpenCV+Python直方图均衡化 正文 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法. 基本思想:把原始图的直方图变换为均匀分 布的形式,这样就增加了像素灰度 ...

  4. opencv python 实现灰度图像和彩色图像直方图全局均衡化和自适应均衡化

    首先进行简单的灰度图像的全局均衡化和自适应均衡化 import cv2 as cv import numpy as npimg = cv.imread('cun.jpg',0)# 全局直方图均衡化 i ...

  5. python opencv手册_教你用Python实现5毛钱特效(给你的视频来点料)

    一.前言 请务必看到最后.Python牛已经不是一天两天的事了,但是我开始也没想到,Python能这么牛.前段时间接触了一个批量抠图的模型库,而后在一些视频中找到灵感,觉得应该可以通过抠图的方式,给视 ...

  6. python并行运算库_最佳并行绘图Python库简介:“ HiPlot”

    python并行运算库 HiPlot is Facebook's Python library to support visualization of high-dimensional data ta ...

  7. python新手难点_初学两天python的操作难点总结

    已经学习两天python,将我认为的操作难点进行总结 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的目录 直接 dir 3 想在一个盘下进去一个文件夹,用cd空格 ...

  8. python内存泄漏_诊断和修复Python中的内存泄漏

    python内存泄漏 Fugue uses Python extensively throughout the Conductor and in our support tools, due to i ...

  9. python基本原理概论_怎样开始自学Python?

    本人才疏学浅,学识大多浅尝辄止,故文章若有错误,不论是文字笔误还是理解有错,烦请您留言以告知,本人必定感激不尽! **Python分类下的系列文章,不断更新中,如果你迫不及待地想要看看写得如何可以先试 ...

  10. 如何提高python的运行效率_几个提升Python运行效率的方法之间的对比

    在我看来,python社区分为了三个流派,分别是python 2.x组织,3.x组织和PyPy组织.这个分类基本上可以归根于类库的兼容性和速度.这篇文章将聚焦于一些通用代码的优化技巧以及编译成C后性能 ...

最新文章

  1. IIS6的PHP最佳配置方法
  2. android 读写文件权限_flutter 文件下载
  3. 单单表单独占一行_数据透视表→Alt+D+P?
  4. div根据滑动页面位置显示
  5. OpenLayers学习笔记5——使用jQuery UI实现查询并标注(UI篇)
  6. [读书笔记] 代码整洁之道
  7. Oracle中不常用命令
  8. spark中dataframe解析_Spark 结构流处理介绍和入门教程
  9. mysql 测试 缓存_mysql 缓存开启及测试
  10. mysql ndb 测试_mysql ndb笔记
  11. iOS 开发之动画篇 - 从 UIView 动画说起
  12. 如何让普通用户执行一些root用户才能执行的命令
  13. 分布式常见面试题详解
  14. android usb pos机,USB支持安卓系统NFC刷卡器|RFID刷卡机ACR122U
  15. 让我们准备祭奠小米帝国
  16. MinDoc升级V2.0版本
  17. 1002:方便记忆的电话号码
  18. [灯哥开源—四足机器人]程序算法讲解与STM32移植——运行框架(两个主线程)
  19. median函数 oracle9i,oracle10g学习笔记
  20. NPDP知识推送-第六章市场研究(4)

热门文章

  1. java saxreader 字符串_Java SAXReader.read方法代碼示例
  2. HTML插入Flash的全兼容完美解决方案-SWFObject
  3. BWA关于Unmatched SAI magic. Please re-run `aln' with the same version of bwa.
  4. PP助手推大数据智能分发服务
  5. 正则表达式的语法及使用
  6. echart 地图 某个地区_一个让echarts中国地图包含省市轮廓的技巧
  7. 一些常用的Maven命令的作用
  8. 计算机电路电子技术试题答案,数字电子技术基础测试题及其答案.doc
  9. otc机器人tp_发那科机器人TP 示教器按键使用简介
  10. 手把手教你安装Sketch破解版和measure插件 1