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解析json实例方法
Nov 19 Python
Python SQLite3数据库操作类分享
Jun 10 Python
Python简单日志处理类分享
Feb 14 Python
使用Python的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
Python中类的初始化特殊方法
Dec 01 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
Python中应该使用%还是format来格式化字符串
Sep 25 Python
pycharm执行python时,填写参数的方法
Oct 29 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
解决pycharm运行出错,代码正确结果不显示的问题
Nov 30 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
利用setuptools打包python程序的方法步骤
Jan 18 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上传、管理照片示例
2006/10/09 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
php以post形式发送xml的方法
2014/11/04 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
javascript数组详解
2014/10/22 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
python读取Android permission文件
2013/11/01 Python
python简单读取大文件的方法
2016/07/01 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
新学期决心书
2014/03/11 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
学校国庆节活动总结
2015/03/23 职场文书
单位计划生育责任书
2015/05/09 职场文书
离职证明范本
2015/06/12 职场文书
小学教育见习总结
2015/06/23 职场文书