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中itertools模块用法详解
Sep 25 Python
python中尾递归用法实例详解
Apr 28 Python
在Python中使用mechanize模块模拟浏览器功能
May 05 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
python Django的web开发实例(入门)
Jul 31 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 Python
Python如何存储数据到json文件
Mar 09 Python
python获取响应某个字段值的3种实现方法
Apr 30 Python
详解python变量与数据类型
Aug 25 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
Python绘图实现台风路径可视化代码实例
Oct 23 Python
python实现腾讯滑块验证码识别
Apr 27 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
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
Javascript Throttle & Debounce应用介绍
2013/03/19 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
几种响应式文字详解
2017/05/19 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
python 随机森林算法及其优化详解
2019/07/11 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
如何理解Python中的变量
2020/06/01 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
Hotels.com英国:全球领先的酒店住宿提供商
2019/01/24 全球购物
专业毕业生个性的自我评价
2013/10/03 职场文书
服装采购员岗位职责
2014/03/15 职场文书
搞笑车尾标语
2014/06/23 职场文书
婚前协议书范本两则
2014/10/16 职场文书