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操作时间和日期之asctime()方法的使用
May 22 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 Python
分分钟入门python语言
Mar 20 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
Python爬虫常用小技巧之设置代理IP
Sep 13 Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
python 用struct模块解决黏包问题
Nov 07 Python
Python获取指定网段正在使用的IP
Dec 14 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 Sql Server连接失败问题及解决办法
2009/08/07 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
php实现头像上传预览功能
2017/04/27 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
python如何为创建大量实例节省内存
2018/03/20 Python
python实现类之间的方法互相调用
2018/04/29 Python
Python实现快速排序的方法详解
2019/10/25 Python
简单介绍django提供的加密算法
2019/12/18 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
教育科研先进个人材料
2014/01/26 职场文书
交通安全教育制度
2014/02/02 职场文书
家长对孩子的感言
2014/03/10 职场文书
产品质量承诺书
2014/03/27 职场文书
学习经验交流会主持词
2014/04/01 职场文书
教师节学生演讲稿
2014/09/03 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
中秋节慰问信
2015/02/15 职场文书
女性健康知识讲座通知
2015/04/23 职场文书