python opencv将图片转为灰度图的方法示例


Posted in Python onJuly 31, 2019

使用opencv将图片转为灰度图主要有两种方法,第一种是将彩色图转为灰度图,第二种是在使用OpenCV读取图片的时候直接读取为灰度图

将彩色图转为灰度图

import cv2
import numpy as np

if __name__ == "__main__":
  img_path = "timg.jpg"
  img = cv2.imread(img_path)
  #获取图片的宽和高
  width,height = img.shape[:2][::-1]
  #将图片缩小便于显示观看
  img_resize = cv2.resize(img,
  (int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
  cv2.imshow("img",img_resize)
  print("img_reisze shape:{}".format(np.shape(img_resize)))

  #将图片转为灰度图
  img_gray = cv2.cvtColor(img_resize,cv2.COLOR_RGB2GRAY)
  cv2.imshow("img_gray",img_gray)
  print("img_gray shape:{}".format(np.shape(img_gray)))
  cv2.waitKey()

img_reisze shape:(337, 600, 3)
img_gray shape:(337, 600)

使用opencv读取图片的时候,默认使用的是BGR来读取图片的,可以看到原始读取的图片是3通道的,经过转换之后变成了单通道。

python opencv将图片转为灰度图的方法示例

直接将图片采用灰度图的方式进行读取

import cv2
import numpy as np

if __name__ == "__main__":
  img_path = "timg.jpg"
  img = cv2.imread(img_path)
  #获取图片的宽和高
  width,height = img.shape[:2][::-1]
  #将图片缩小便于显示观看
  img_resize = cv2.resize(img,
  (int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
  cv2.imshow("img",img_resize)
  print("img_reisze shape:{}".format(np.shape(img_resize)))

  #读取灰度图
  img_gray = cv2.imread(img_path,cv2.IMREAD_GRAYSCALE)
  #将图片缩小便于显示观看
  img_gray = cv2.resize(img_gray,
  (int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
  cv2.imshow("img_gray",img_gray)
  print("img_gray shape:{}".format(np.shape(img_gray)))
  cv2.waitKey()

img_reisze shape:(337, 600, 3)
img_gray shape:(337, 600)

python opencv将图片转为灰度图的方法示例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
python 捕获 shell/bash 脚本的输出结果实例
Jan 04 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 Python
Python3.6简单的操作Mysql数据库的三个实例
Oct 17 Python
VSCode Python开发环境配置的详细步骤
Feb 22 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
python实现祝福弹窗效果
Apr 07 Python
python 基于DDT实现数据驱动测试
Feb 18 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 Python
python模块与C和C++动态库相互调用实现过程示例
Nov 02 Python
Django中使用极验Geetest滑动验证码过程解析
Jul 31 #Python
Python对接六大主流数据库(只需三步)
Jul 31 #Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 #Python
python爬虫 模拟登录人人网过程解析
Jul 31 #Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 #Python
Django实现跨域的2种方法
Jul 31 #Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 #Python
You might like
PHP语法速查表
2006/12/06 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
浅谈PHP中的
2016/04/23 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python 堆和优先队列的使用详解
2019/03/05 Python
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
2019/03/18 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
Python 图片处理库exifread详解
2021/02/25 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
党员个人思想汇报
2013/12/28 职场文书
毕业设计计划书
2014/01/09 职场文书
大课间体育活动方案
2014/03/12 职场文书
产品发布会策划方案
2014/05/12 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
56句经典英文座右铭
2019/08/09 职场文书