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 相关文章推荐
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
Python的Django框架使用入门指引
Apr 15 Python
python操作 hbase 数据的方法
Dec 18 Python
Python基于Socket实现的简单聊天程序示例
Aug 05 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
python获取中文字符串长度的方法
Nov 14 Python
解决python线程卡死的问题
Feb 18 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
Python原始套接字编程实例解析
Jan 29 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
PyCharm2020.3.2安装超详细教程
Feb 08 Python
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 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 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP微商城开源代码实例
2019/03/27 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
Python从MP3文件获取id3的方法
2015/06/15 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python实现flappy bird小游戏
2018/12/24 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
美国网上花店:JustFlowers
2017/02/12 全球购物
《巨人的花园》教学反思
2014/02/12 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
2015年导购员工作总结
2015/04/25 职场文书
党小组推荐意见
2015/06/02 职场文书
医院消毒隔离制度
2015/08/05 职场文书
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers