我是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. C语言 数据类型(就做个笔记总结)
  2. Codeforces Round #699 (Div. 2) E.Sorting Books(贪心+DP / 线段树)超高质量题解,看不懂来打我 ~
  3. 点云配准求物体的6D姿态(转)
  4. Mac OS X Terminal 101:终端使用初级教程
  5. Delphi 中的字符串函数(5) - SysUtils 中的 Ansi 字符串函数
  6. html点击区域,求助HTML+CSS可以点击区域外关闭实现。
  7. Vue通过eventBut实现组件全局通信
  8. GitHub 发布重磅更新:你电脑上的 IDE 可以删了?!
  9. 在 Mac上压缩的压缩包 在windows上都会产生.DS_Store这种垃圾文件 怎么办
  10. 亿级流量场景下的平滑扩容:TDSQL的水平扩容方案实践
  11. python random randint_python中random.randint和random.randrange的区别详解
  12. 调试 SharePoint 解决方案
  13. BootStrap笔记-文字排版
  14. c++ 宏 win linux_服务器端开发经验总结 Linux C语言
  15. Mac OS Catalina 安装Java6
  16. 如何在Linux里面安装Java的运行环境(详细过程)
  17. Qt学习—qt编写定时关机程序
  18. 港交所、中芯国际、京东、诺基亚等公司高管变动
  19. win11u盘无法弹出怎么办?win11u盘老是被占用不能退出?
  20. c盘扩容提示簇被标记_技能+ | C盘空间满了怎么办?无需格式化、不用重装系统,教你如何轻松搞定扩容...

热门文章

  1. rar和zip文件加密的破解
  2. 此计算机不支持动态磁盘,磁盘无法分区提示此操作系统不支持动态磁盘故障原因分析与解决...
  3. 身份证阅读器在国产操作系统Linux内核中的二次开发
  4. 计算机硬盘扇区修复,如何修复Windows中的“硬盘坏扇区”
  5. java文件ftp下载,java ftp下载文件夹内所有文件,java 下载ftp文件夹下所有文件
  6. 【Godot】Godot 插件制作流程
  7. C++中两个栈实现一个队列
  8. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java新华书店o2o服务系统89nml
  9. 计算机考研408-2010
  10. GAN网络的详细内容