这里写目录标题

  • (一)原始图像
  • (二)转换原理
  • (三)python实现
    • 1. 安装库
    • 2. python程序编写
    • 3. 效果
    • 4. 工程文件

(一)原始图像

(二)转换原理

(三)python实现

python安装可以参考:python安装

1. 安装库

首先我们需要安装用到的库,按住win+r输入cmd打开dos窗口,输入下面的命令

pip install opencv-python
pip install numpy

2. python程序编写
"""
@author:zhixia彩图转灰度图
"""#import 导入模块,每次使用模块中的函数都要是定是哪个模块。
#from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;注因为已经知道该函数是那个模块中的了
from skimage.color import rgb2gray #skimage图形处理库 color是颜色空间转换子模块 pip install scikit-image
import numpy as np
import matplotlib.pyplot as plt  #matlab的python库  pip install matplotlib
from PIL import Image # Python Imaging Library 图像处理库 pip install pillow
import cv2 #图像灰度化#cv2的方式
img = cv2.imread("lenna.png")
h,w = img.shape[:2] #获取图片的high和wide
img_gray=np.zeros([h,w],img.dtype) #创建一张和当前图片大小一样的单通道图片
for i in range(h):for j in range(w):m = img[i,j]img_gray[i,j] =int(m[0]*0.11+m[1]*0.59+m[2]*0.3) #将BGR坐标转换为gray坐标
print(img_gray)
print("image show grap:%s"%img_gray)
cv2.imshow("imageshow gray", img_gray)#plt方式
plt.subplot(221) #表示将整个图像窗口分为2行2列, 当前位置为1.
img = plt.imread("lenna.png")
plt.imshow(img)
print("----image lenna -----")
print(img)#灰度化
img_gray = rgb2gray(img)
plt.subplot(222)
plt.imshow(img_gray,cmap="gray")
print("-----image gray-------")
print(img_gray)#二值化
img_binary = np.where(img_gray >= 0.5, 1, 0)
print("-----imge_binary------")
print(img_binary)
print(img_binary.shape)#plt方式
plt.subplot(223)
plt.imshow(img_binary, cmap='gray')
plt.show()
3. 效果

打印信息:

===== RESTART: E:\ProgramDemo\AI\opencv\opencv\interpolation\image_gray.py =====
[[162 162 162 ... 169 155 128][162 162 162 ... 169 155 128][162 162 162 ... 169 155 128]...[ 42  42  49 ... 104 100  98][ 43  43  54 ... 103 105 108][ 43  43  54 ... 103 105 108]]
image show grap:[[162 162 162 ... 169 155 128][162 162 162 ... 169 155 128][162 162 162 ... 169 155 128]...[ 42  42  49 ... 104 100  98][ 43  43  54 ... 103 105 108][ 43  43  54 ... 103 105 108]]
----image lenna -----
[[[0.8862745  0.5372549  0.49019608][0.8862745  0.5372549  0.49019608][0.8745098  0.5372549  0.52156866]...[0.9019608  0.5803922  0.47843137][0.8666667  0.50980395 0.43137255][0.78431374 0.3882353  0.3529412 ]][[0.8862745  0.5372549  0.49019608][0.8862745  0.5372549  0.49019608][0.8745098  0.5372549  0.52156866]...[0.9019608  0.5803922  0.47843137][0.8666667  0.50980395 0.43137255][0.78431374 0.3882353  0.3529412 ]][[0.8862745  0.5372549  0.49019608][0.8862745  0.5372549  0.49019608][0.8745098  0.5372549  0.52156866]...[0.9019608  0.5803922  0.47843137][0.8666667  0.50980395 0.43137255][0.78431374 0.3882353  0.3529412 ]]...[[0.32941177 0.07058824 0.23529412][0.32941177 0.07058824 0.23529412][0.36078432 0.10588235 0.22745098]...[0.6784314  0.28627452 0.32941177][0.6745098  0.26666668 0.29803923][0.69411767 0.24313726 0.30980393]][[0.32156864 0.08627451 0.22352941][0.32156864 0.08627451 0.22352941][0.3764706  0.1254902  0.24313726]...[0.7019608  0.27450982 0.30980393][0.70980394 0.2784314  0.31764707][0.7254902  0.2901961  0.31764707]][[0.32156864 0.08627451 0.22352941][0.32156864 0.08627451 0.22352941][0.3764706  0.1254902  0.24313726]...[0.7019608  0.27450982 0.30980393][0.70980394 0.2784314  0.31764707][0.7254902  0.2901961  0.31764707]]]
-----image gray-------
[[0.60802865 0.60802865 0.60779065 ... 0.6413741  0.57998234 0.46985728][0.60802865 0.60802865 0.60779065 ... 0.6413741  0.57998234 0.46985728][0.60802865 0.60802865 0.60779065 ... 0.6413741  0.57998234 0.46985728]...[0.13746354 0.13746354 0.16881412 ... 0.37271804 0.35559532 0.34377727][0.14617059 0.14617059 0.1873059  ... 0.36788785 0.3729255  0.3846753 ][0.14617059 0.14617059 0.1873059  ... 0.36788785 0.3729255  0.3846753 ]]
-----imge_binary------
[[1 1 1 ... 1 1 0][1 1 1 ... 1 1 0][1 1 1 ... 1 1 0]...[0 0 0 ... 0 0 0][0 0 0 ... 0 0 0][0 0 0 ... 0 0 0]]
(512, 512)
4. 工程文件

线性插值函数

(三)图像转灰度图Python实现相关推荐

  1. python用numpy和pil处理图像成灰度图_「火炉炼AI」机器学习047-图像的直方图均衡化操作...

    [火炉炼AI]机器学习047-图像的直方图均衡化操作 [火炉炼AI]机器学习047-图像的直方图均衡化操作 (本文所使用的Python库和版本号: Python 3.6, Numpy 1.14, sc ...

  2. 图片一:单通道、三通道、灰度图、黑白图、三通道转灰度图(单通道)

    图片的概念经常搞不清楚,导致对图片处理很糟糕.感觉还是总结下比较好,省的每次都要找一堆博客看.下面的内容是博主个人理解,不能保证全部正确,如有错误,敬请指出. 1.图片:通常指的是数字图片,数据结构通 ...

  3. python PIL读取图像转换为灰度图及二值图像

    目录 以下操作都是在windows环境下进行. 一.读取数据 1. 读取单个图像: 2. 批量读取: 3. 看一下是否读取成功: 二.模式"RGB"转换为'L'模式灰度图 三.模式 ...

  4. RGB图像转为灰度图

    最后结论: Grey = (R*38 + G*75 + B*15)>> 7 代码 #include <cv.h> #include <highgui.h>using ...

  5. MATLAB图像处理(一):图像转灰度图及图像采样和量化

    一.定义 灰度图:实现将RGB图像或彩色图转换为灰度图像. 采样:将(空域或时域)连续的图像离散化为离散采样点(像素),从中均匀间隔或不均匀间隔地选择. 量化:将像素的灰度(浓淡)变换成离散的整数值( ...

  6. 【OpenCV】将RGB图像转为灰度图

    基本思路: 1.  输入RGB(彩色)图像 2.  处理图像 3.  输出GRAY(灰度)图像 这里将处理图像过程单独写成一个函数,供主函数调用 1 void RGB2GRAY(IplImage* s ...

  7. ARM NEON优化4.RGB图像转灰度图

    问题描述 灰度图像是用不同饱和度的黑色来表示每个图像像素,用0~255之间的数表示"灰色"的程度,比如0表示黑色,255表示白色,RGB值与灰度图之间的转换公式如下: 一幅640* ...

  8. RGB图像转为灰度图的几种方法

    RGB图像灰度化 RGB图像 我们来看看下面这张图,美不美 这么好看的图是咋个整出来的呢?哦!原来是这样:一幅图像 I I I由很多个像素点组成的,而每个像素点又包含RGB(red,green,blu ...

  9. C#编程,图像转换灰度图的几种方法

    为加快处理速度,在图像处理算法中,往往需要把彩色图像抓换成灰色图像,24位彩色图像每个像素用3个字节表示,每个字节对应着R.G.B分量的亮度(红.绿.蓝).当R.G.B分量值不同是,表示为彩色图像:当 ...

最新文章

  1. python2和python3分别是python的两个版本_Windows下Python2与Python3两个版本共存的方法详解...
  2. 步进电机红外遥控C语言程序,单片机红外遥控+步进电机+1602液晶显示c语言源程序...
  3. 去掉button按钮左右两边的留白
  4. 随想系列_4_从电影《可可西里》说起
  5. android 远程桌面 windows7,WIN7实现多用户远程桌面
  6. Android 系统(173)---Android中图片的三级缓存
  7. Halcon形态学操作、区域处理相关常用API
  8. LYNC功能之呼叫合并
  9. html排版跟代码不一致_用壹伴助手,几分钟搞定公众号排版
  10. 完美解决PHP、AJAX跨域问题
  11. 诺基亚java软件下载_诺基亚手机安装JAVA软件程序
  12. 塞班手机刷linux,向 诺基亚 塞班手机中 批量导入 通讯录(csplit iconv)
  13. 版本控制git之一-仓库管理
  14. LKA linux kernel architechture
  15. 闰年和平年的区别python_连续四年中一定有一个闰年吗
  16. 7.13 编程序,比较字符串大小。
  17. LaTeX入门级教程
  18. inline内联函数 static静态函数 普通函数区别
  19. 面向对象综合训练综合练习
  20. SqlNullValueException: Data is Null. This method or property cannot be called on Null values.

热门文章

  1. Git bash 编码格式配置_02
  2. DMN结合bpmn简化流程_07
  3. VS Code 常用快捷键
  4. 查看linux是否为虚拟机,以及其它信息,cpu,主机型号,主板型号等
  5. centos7常用工具安装手册
  6. 使用ant design vue 中table组件运行时not found: Error: Can't resolve 'reqwest' in 'D:\vue\antd-demo01\src\com
  7. python获取路径下所有文件_Python获取路径下所有文件名
  8. 重构碎片化知识_day22重构力-思维导图:让碎片化知识的零存整取
  9. 前端电子表数字字体_爬虫:如何优雅应对字体反爬
  10. C语言 strlen 函数 - C语言零基础入门教程