使用python将图片改为灰度图或黑白图有三种方式,分别是是使用cv2库和PIL库来实现,详细过程如下所示。

1. 使用cv2库将图片改为灰度图

在使用cv2进行读取原彩色图片时,在里面添加一个参数cv2.IMREAD_GRAYSCALE表示将图片作为灰色图数据进行加载。

示例代码:

import cv2image = cv2.imread('./images/sunflower.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imwrite('./images/gray_sunflower.jpg', image)

运行效果:

对处理后的图片再次进一步的探究。

示例代码:

import cv2# image = cv2.imread('./images/sunflower.jpg', cv2.IMREAD_GRAYSCALE)# cv2.imwrite('./images/gray_sunflower.jpg', image)#  进一步探索图片格式
image = cv2.imread('./images/sunflower.jpg')
print(image.shape)
imageGray = cv2.imread('./images/gray_sunflower.jpg')
print(imageGray.shape)
imageGray2 = cv2.imread('./images/sunflower.jpg', cv2.IMREAD_GRAYSCALE)
print(imageGray2.shape)

运行效果:

从运行结果可以看出,在用cv2读取数据时,即使读取的原图是灰度图片,但是返回的结果仍然是BGR格式的图像,BGR格式是默认的格式。

2. 利用PIL库将图片改为黑白图

原理是转为“1”的模式,为二值图像。即:非黑即白。它每个像素用8个bit表示,0表示黑,255表示白(除了这两个值外再没有别的值)

示例代码:

from PIL import Image# open colour image
image_raw = Image.open("./images/sunflower.jpg")
# convert image to black and white
image_black_white = image_raw.convert('1')
image_black_white.save('./images/black_white_sunflower.jpg')
image_black_white.show()

运行结果:

3. 利用PIL库将图片改为灰度图

原理是转为“L”的模式。0表示黑,255表示白,其它数字表示不同的灰度。在PIL中,从模式"RGB"转为"L"模式是按照下面公式转换
L = R * 299/1000 + G * 587/1000+ B * 114/1000

示例代码:

from PIL import Image
import matplotlib.pyplot as plt# open colour image
image_raw = Image.open("./images/sunflower.jpg")
image_gray = image_raw.convert('L')
# image_gray.show()
plt.figure('sunflower')  # 图名
plt.imshow(image_gray, cmap='gray')  # cmap即colormap,颜色映射
# plt.axis('off')  # 关闭网格线
plt.show()

运行效果:(下图1关闭网格线,下图2带有网格线)

使用python将图片改为灰度图或黑白图相关推荐

  1. 如何将 WORD中将彩色图片变成灰度图 或 黑白图 ?

    文章目录 1 灰度图像与黑白图像的区别 2 彩色图 灰度图 相互变换 2.1 彩色图 变 灰度图 2.2 灰度图 变 彩色图 3 彩色图 黑白图 相互变换 3.1 彩色图 变 黑白图 3.1 黑白图 ...

  2. 如何用DELPHI区分彩色图和黑白图(多色与单色)??

    如何用DELPHI区分彩色图和黑白图(多色与单色)?? Delphi / Windows SDK/API http://www.delphi2007.net/DelphiMultimedia/html ...

  3. 图片一:单通道、三通道、灰度图、黑白图、三通道转灰度图(单通道)

    图片的概念经常搞不清楚,导致对图片处理很糟糕.感觉还是总结下比较好,省的每次都要找一堆博客看.下面的内容是博主个人理解,不能保证全部正确,如有错误,敬请指出. 1.图片:通常指的是数字图片,数据结构通 ...

  4. Python修改图片像素值(变彩色为黑白)

    如何使用python将彩图变为黑白图? 以RGB图片为例,其色彩展现是依靠这像素点上的像素值,正是这些数值使图片绚烂多彩,同时,我们也知道,像素值的范围为0-255,其中0为黑色,255为白色,那么我 ...

  5. 灰度图、黑白图,彩色图理解

    黑白图,是指每个像素的颜色用二进制的1位来表示,颜色只有"1"和"0"这两个值 ,(Data值为0或者255)这也就是说,要么是黑,要么是白.例如: CvInv ...

  6. python将图片转成灰度图

    运行代码工具:jupyter notebook 图片保存在运行目录下 from PIL import Image I = Image.open('C:/Users/LitmoonHoney/Deskt ...

  7. python宣传图片_Python爬虫,高清美图我全都要!爬取你想要的,嘿嘿嘿

    select = 'div#main div.list ul li a' imgUrls = screen(url, select) 通过这两行代码获取的列表中的值,形如此:星空 女孩 观望 唯美夜景 ...

  8. python plot label改字体_python – 如何在matplotlib图中更改xticks字体大小

    参见英文答案 > Matplotlib make tick labels font size smaller                                    10个 我有以 ...

  9. python将图片转为字符_Python将图片转化为字符画

    简介 最近发现一个有趣的操作, 将一张图片转化为字符串的模式来显示! 如图 准备 首先需要安装一个CV模块用来导入图片的#pip install opencv-python 然后明确下程序的设计思路1 ...

  10. 灰度图、RGB图的区别

    一.灰度图 灰度图就是单通道图像,而单通道图是指维度数为2的图像. 而灰度就是没有色彩,RGB色彩分量全部相等(可将这点与下文的RGB图进行对比).那么灰度图的每个像素点就只有一个值表示颜色,像素值的 ...

最新文章

  1. 检查是否支持 SO_REUSEPORT
  2. html css bootstrap,CSS Bootstrap是什么?
  3. python preference界面设置_偏好设置如何更改Preference的样式
  4. 乌班图系统16.04安装
  5. jupyter notebook切换到其他配置好的conda虚拟环境
  6. python traceback most recent_pyspider启动错误: Traceback (most recent call last):
  7. QEMU 源代码阅读经验开山之作
  8. python链表逆序实例_python 单链表翻转的简单示例
  9. Excel如何合并单元格
  10. 宝塔面板ab模板建站_2020PHP自助建站系统源码/宝塔在线自助建站系统源码/集成多套模板/在线云建站系统模板...
  11. 致所有仍然关注BreezeMaphack的朋友
  12. 跨越专业翻译的语言之墙:百度翻译的技术攀登
  13. 阿里云账号注册流程方法(图文教程)
  14. qq邮箱日历同步服务器,科技教程:qq邮箱客户端怎么使用exchange服务同步日历?...
  15. Elasticsearch:理解 Elasticsearch 中的 Percolator 数据类型及 Percolate 查询
  16. 计算机技术水平考核试卷带答案,中小学教师计算机技术水平考核试卷笔试题带答案...
  17. [tcpreplay] tcpreplay高级用法--使用tcpreplay-edit进行循环动态发包
  18. 碎碎念日常——一个反思日记
  19. 西电微机原理期末考试复习重点
  20. PYTHON爬虫爬取豆瓣电影的一周口碑电影排行榜

热门文章

  1. 为微信小程序扩展自定义babel编译功能
  2. DFS走迷宫(懒猫老师C++完整版)
  3. 关于JavaScript打印去掉页眉页脚
  4. 2022年作为一个中年程序员写给35岁的自己
  5. 用grldr启动ISO
  6. DB2数据库生成html巡检报告
  7. python一个类调用另一个类的方法_python – 从另一个类调用类方法
  8. 简易的微信公众号管理平台使用指南
  9. 环境保护概论课程作业
  10. 身份证验证判断、身份证正则表达式、15位、18位身份证验证