import imageio
import numpy as np
from PIL import Image #用于基本的图像处理
import matplotlib.pyplot as plt # plt 用于显示图片#定义一个显示函数showing
def showimg(img, isgray=False):plt.axis("off")if isgray == True:plt.imshow(img, cmap='gray')else:plt.imshow(img)lena = imageio.imread("lena.jpg")# 用于读取图片#彩色图像的灰度转换(只抽取G,绿色面)
gray_lena = lena
gray_lena = np.array(gray_lena, dtype=np.int32)
gray_lena[...,0] = 0
gray_lena[...,2] = 0
gray_lena = np.sum(gray_lena, axis=2)#灰度变换函数图像
plt.rcParams['font.sans-serif'] = ['SimHei'] #用于显示汉字
plt.title('灰度变换函数图像')
plt.xlabel('像素值')
plt.ylabel('变换后像素值')x1 = np.arange(0, 256)
y1 = np.arange(0, 256)f1, = plt.plot(x1, y1, '--')y2 = 255 - x1
f2, = plt.plot(x1, y2, 'y')y3 = (100.0/255)*x1 + 100
f3, = plt.plot(x1, y3, 'r:')y4 = 255.0*(x1/255.0)**2
f4, = plt.plot(x1, y4, 'm--')
plt.legend((f1, f2, f3, f4), ('y=x','y=255-x','y=(100.0/255)*x+100','y=255.0*(x/255.0)**2'),loc='upper center')
plt.show()#图像的灰度变换
g1 = 255 - gray_lenag2 = (100.0/255)*gray_lena +100#显示效果图
plt.subplot(221)
showimg(lena,True)
#plt.imshow(lena)
plt.title("Source Image")plt.subplot(222)
showimg(gray_lena,True)
#plt.imshow(gray_lena,cmap='gray')
plt.title("Gray Image")plt.subplot(223)
showimg(g1,True)
plt.title("g1 Image")plt.subplot(224)
showimg(g2,True)
plt.title("g2 Image")plt.show()
#灰度化的一些方法
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np# 获取图片
def getimg():return Image.open("D:\Pycharm\example\lena.jpg")# 显示图片
def showimg(img, isgray=False):plt.axis("off")if isgray == True:plt.imshow(img, cmap='gray')else:plt.imshow(img)plt.show()showimg(getimg())   #原图显示im = getimg()
im_gray = im.convert('L')
showimg(im_gray,True)im = getimg()
im = np.array(im)
im[:,:,0] = im[:,:,0]*0.3
im[:,:,1] = im[:,:,1]*0.59
im[:,:,2] = im[:,:,2]*0.11
im = np.sum(im, axis=2)
showimg(Image.fromarray(im), True)im4 = getimg()
im4 = np.array(im4, dtype=np.int32)
im4[...,1] = 0
im4[...,2] = 0
im4 = np.sum(im4, axis=2)
showimg(Image.fromarray(im4), True)

Python图像灰度化处理相关推荐

  1. python图像灰度化_python实现图片二值化及灰度处理方式

    python实现图片二值化及灰度处理方式 我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: ut ...

  2. [Python图像处理] 十四.基于OpenCV和像素处理的图像灰度化处理

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  3. 图像灰度化的三种方法(matlab、C++、Python实现)

    灰度化处理就是将一幅色彩图像转化为灰度图像的过程.彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程.灰度值大的像素点比较亮(像素值最大为255,为 ...

  4. 【python图像处理】图像灰度化处理、图像灰度线性变换、图像灰度非线性变换

    一.图像灰度化处理 1.最大值灰度处理方法 2.平均灰度处理方法 3.加权平均灰度处理方法 二.图像灰度线性变换 1.图像灰度上移变换 2.图像对比度增强变换 3.图像对比度减弱变换 4.图像灰度反色 ...

  5. 2种图像增强方法:图像点运算和图像灰度化处理

    摘要:本文主要讲解图像点运算的灰度化处理,详细介绍常用的灰度化处理方法,并分享了图像颜色空间相互转换,以及三种灰度转换算法的实现. 本文分享自华为云社区<[Python从零到壹] 四十三.图像增 ...

  6. html5图片灰度显示,HTML5 组件Canvas实现图像灰度化

    HTML5发布已经有很长一段时间了,一直以来从来没有仔细的看过,过年刚来随便看看 发现HTML5中的Canvas组件功能是如此的强大,不怪很多牛人预言Flash已死,死不死 不是我要关心的,我关心的C ...

  7. c#图像灰度化、灰度反转、二值化

    图像灰度化: 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理.彩色图像中的每个像素的颜色有R.G.B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*2 ...

  8. MATLAB:虹膜识别的图像灰度化处理,直方图均衡化

    (1)图像灰度化处理: 读取一张图片之后,进行灰度化处理,然后对其进行直方图均值化. clear;close all %读取原图地址 RGB= imread('D:\img\1.jpg'); %图像灰 ...

  9. CUDA精进之路(三):图像处理——图像灰度化、灰度直方图统计

    引言 在大部分的图像处理程序中,其中必不可少的一步就是对传入的彩图进行灰度处理,将三个通道的RGB图片转化为单通道的Gray图,而对于灰度图进行直方图统计同样是观察检测图像特征的常用方法.在OpenC ...

  10. 图像灰度化的三种常见方法源码

    图像灰度化是图像处理很基础的一部分,在这里给出图像灰度化的三种常见方法的M源码,以供大家参考~ 平均值法,最大值法,加权平均值法 function f=MyGrayProcessing(Img) [m ...

最新文章

  1. 15个相当不错的jQuery技巧
  2. LeetCode 475. Heaters
  3. python教学案例-Python机器学习经典实例
  4. Fission:基于 Kubernetes 的 Serverless 函数框架
  5. (秒杀项目) 4.2 用户登录和注册
  6. 佳博热敏打印机修改ip工具_佳博打印机修改ip教程本教程适用于80系列打印机及3150,9035打印.doc...
  7. c语言常量指什么作用,c语言字符常量是什么
  8. 电脑设置u盘启动方法
  9. CSS FlexBox布局全面详解
  10. 睡眠伤害计算机硬件吗,电脑长时间睡眠、不关机对电脑有伤害吗?
  11. 基于Android9的非root环境下frida-gadget持久化
  12. 软考中级哪个含金量高?我该如何选择?
  13. could not locate named parameter 的解决方法
  14. HTML页面为什么设置了UTF-8仍然中文乱码
  15. 广西北海中学2021年高考成绩查询,2021年北海中考录取分数线,历年北海各高中录取分数线排名...
  16. 给hacke拨乱反正 黑客、红客、蓝客究竟是什么
  17. 讲座:与迷茫为友的成长(贺利坚老师,烟台大学)——完整讲座PPT,精彩与动画媲美
  18. 财税SaaS行业格局再变,慧算账为何能受资本“偏爱”?
  19. 计算机显卡有辐射吗,电脑的显卡辐射大吗
  20. 零售业进入立异时期:O2O榜首战

热门文章

  1. SpringBoot整合tkMybatis基础教程
  2. rufus制作UOS启动盘报syslinux-6.03下载错误
  3. Sobel边缘检测 - 梯度算子介绍
  4. 在用JAVA写一个简易CAD程序时的笔记
  5. java毕业设计医院管理系统Mybatis+系统+数据库+调试部署
  6. tomcat日志配置(停止日志或修改日志路径)
  7. [MacromediaFlashMX]破解版下载
  8. Android 动画录制 GIF录制
  9. 微信公众号服务器架构,Flask框架实现微信公众号开发(接入微信服务器)
  10. 台式计算机可以连接蓝牙吗,台式电脑可以连接蓝牙音响吗