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进阶教程之动态类型详解
Aug 30 Python
初步讲解Python中的元组概念
May 21 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
Django发送邮件功能实例详解
Sep 02 Python
Python类如何定义私有变量
Feb 03 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
Django中文件上传和文件访问微项目的方法
Apr 27 Python
Python爬虫爬取有道实现翻译功能
Nov 27 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 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/04 PHP
php检测useragent版本示例
2014/03/24 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
JS如何生成动态列表
2020/09/22 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
Python找出最小的K个数实例代码
2018/01/04 Python
Python KMeans聚类问题分析
2018/02/23 Python
python基于SMTP协议发送邮件
2019/05/31 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
英国探险旅游专家:Explore
2018/12/20 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
十岁生日父母答谢词
2014/01/18 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
预备党员的自我评价
2014/03/12 职场文书
酒店管理求职信
2014/06/09 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
python pygame入门教程
2021/06/01 Python