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 struct模块解析
Jun 12 Python
Python实现图片滑动式验证识别方法
Nov 09 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
详解python中sort排序使用
Mar 23 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
opencv resize图片为正方形尺寸的实现方法
Dec 26 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
python求前n个阶乘的和实例
Apr 02 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
Python包资源下载路径报404解决方案
Nov 05 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
sae使用smarty模板的方法
2013/12/17 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
对Python中9种生成新对象的方法总结
2018/05/23 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
python 实现的车牌识别项目
2021/01/25 Python
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
历史系毕业生自荐信
2013/10/28 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
出纳会计岗位职责
2014/03/12 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
田径运动会通讯稿
2014/09/13 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang