第一节:图像数字化

1: 构造二维的ndarry,相当于就是构造灰度图像各个位置的像素值。

import numpy as np
import cv2# 构造二维的ndarry    # 构造一个100*100的图像,像素值都是零,然后将其输出
z = np.zeros((100, 100), np.uint8)   # 100*100的图像,每个点像素值都为零
cv2.imshow('img', z)    # 显示图片
cv2.imwrite('img1.png', z)  # 将我们的结果进行保存
cv2.waitKey(0)   # 显示持续几毫秒   1000代表一秒,0表示永久
cv2.destroyAllWindows()

程序的输出结果:

2:同理,我们可以构造三维的ndarry

# 构造三维的ndarry
z = np.ones((100, 100, 3), np.uint8)
cv2.imshow('img2', z)
cv2.imwrite('img2.png', z)
cv2.waitKey(0)
cv2.destroyAllWindows()

(100, 100, 3)表示的是100*100的三通道图片,也就是彩色图片,但我们指定的像素值都是1,所以最后的输出还是黑色的。

3: ndarry的加减乘除,这里的乘包括点乘和矩阵乘。

# ndarry的加法
src1 = np.array([[23, 123, 90], [100, 250, 0]], np.uint8)
src2 = np.array([[125, 150, 60], [100, 10, 40]], np.uint8)
dst = src1 + src2
print(dst)
# 123 + 150 = 273 array对于大于255的uchar类型的处理方式是:对255取模运算后减1,即: 273 % 255 - 1 = 17# ndarry的减法
dst1 = src1 - src2
print(dst1)# ndarry的点乘运算
dst2 = src1*src2  # 点乘就是对应点进行相乘
print(dst2)# ndarry的点除运算
dst3 = src2 / src1  # 对应点进行相除
print(dst3)# ndarry的乘法 即矩阵的乘法
src3 = np.array([[1, 2, 3], [4, 5, 6]], np.uint8)
src4 = np.array([[6, 5], [4, 3], [2, 1]], np.uint8)
dst4 = np.dot(src3, src4)
print(dst4)

注意代码中的注释

4:灰度图像数字化。

在这里我们先读入一张灰度图像,然后输出其各个位置的像素值,接着把图像显示出来。

# 灰度图像数字化
img = cv2.imread('p2.jpg', cv2.IMREAD_GRAYSCALE)   # 后面这个参数很有用,当你用这样的方式读入彩色图像时,可以将其转换为灰度图像
print(img)  # 打印出该图片的像素值
cv2.imshow('img', img)   # 显示图像
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

 5:彩色图像数字化

我们这里读一张彩色图像,然后将其各个通道的值读出来,输出。

# 彩色图像数字化
image = cv2.imread('p1.jpg')
b = image[:, :, 0]  # 第一个通道的值
g = image[:, :, 1]  # 第二个通道的值
r = image[:, :, 2]  # 第三个通道的值
# 显示三个颜色通道
cv2.imshow('b', b)
cv2.imshow('g', g)
cv2.imshow('r', r)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

未完待续。。。。下一节我们讲学习图像的几何变化。。

【1】python-opencv3教程:图像数字化(图像灰度化,彩色图像通道的提取等)相关推荐

  1. [Python图像处理] 十四.基于OpenCV和像素处理的图像灰度化处理

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  2. 图像灰度化的三种方法(matlab、C++、Python实现)

    灰度化处理就是将一幅色彩图像转化为灰度图像的过程.彩色图像分为R,G,B三个分量,分别显示出红绿蓝等各种颜色,灰度化就是使彩色的R,G,B分量相等的过程.灰度值大的像素点比较亮(像素值最大为255,为 ...

  3. 【python图像处理】图像灰度化处理、图像灰度线性变换、图像灰度非线性变换

    一.图像灰度化处理 1.最大值灰度处理方法 2.平均灰度处理方法 3.加权平均灰度处理方法 二.图像灰度线性变换 1.图像灰度上移变换 2.图像对比度增强变换 3.图像对比度减弱变换 4.图像灰度反色 ...

  4. 灰度拉伸python,Python OpenCV实例:图像灰度拉伸

    Python OpenCV实例:图像灰度拉伸 Python OpenCV实例:图像灰度拉伸 为什么80%的码农都做不了架构师?>>> #coding:utf-8 ''' 灰度拉伸 定 ...

  5. 2种图像增强方法:图像点运算和图像灰度化处理

    摘要:本文主要讲解图像点运算的灰度化处理,详细介绍常用的灰度化处理方法,并分享了图像颜色空间相互转换,以及三种灰度转换算法的实现. 本文分享自华为云社区<[Python从零到壹] 四十三.图像增 ...

  6. html5图片灰度显示,HTML5 组件Canvas实现图像灰度化

    HTML5发布已经有很长一段时间了,一直以来从来没有仔细的看过,过年刚来随便看看 发现HTML5中的Canvas组件功能是如此的强大,不怪很多牛人预言Flash已死,死不死 不是我要关心的,我关心的C ...

  7. c#图像灰度化、灰度反转、二值化

    图像灰度化: 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理.彩色图像中的每个像素的颜色有R.G.B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*2 ...

  8. MATLAB:虹膜识别的图像灰度化处理,直方图均衡化

    (1)图像灰度化处理: 读取一张图片之后,进行灰度化处理,然后对其进行直方图均值化. clear;close all %读取原图地址 RGB= imread('D:\img\1.jpg'); %图像灰 ...

  9. CUDA精进之路(三):图像处理——图像灰度化、灰度直方图统计

    引言 在大部分的图像处理程序中,其中必不可少的一步就是对传入的彩图进行灰度处理,将三个通道的RGB图片转化为单通道的Gray图,而对于灰度图进行直方图统计同样是观察检测图像特征的常用方法.在OpenC ...

  10. 图像灰度化的三种常见方法源码

    图像灰度化是图像处理很基础的一部分,在这里给出图像灰度化的三种常见方法的M源码,以供大家参考~ 平均值法,最大值法,加权平均值法 function f=MyGrayProcessing(Img) [m ...

最新文章

  1. java 二维数组内存溢出_模拟Java内存溢出
  2. 你真的会写二分查找吗?
  3. 26岁,发25篇SCI,当上211教授、博导。
  4. 『ACM-算法-二分法』在单调递增序列a中查找小于等于x的数中最大的一个(即x或x的前驱)
  5. 轨迹跟踪主要方法_DELMIA教程:基于指令形式的机器人TCP轨迹局部跟踪方法
  6. 产品经理装逼词汇大全
  7. 20.校准相机——介绍,使用已知点进行校正,直接线性校准均匀性第1部分,直接线性校准均匀性第2部分_1
  8. 一个堆排我竟弄了 4 个动画
  9. 芬兰称议员的邮件账户遭黑客访问
  10. 【转载】TableLayout表格布局详解
  11. 阿里云轻量服务器 外网卡_阿里云服务器购买流程及注意事项
  12. Android TV框架TIF
  13. turbo c 混编 汇编语言,浅谈Turbo C过程调用汇编
  14. 模拟电子技术基础(第四版)教材 电子版
  15. Python数据分析入门(1)——数据分析基础步骤知识
  16. 按字母顺序排列c语言,C语言有n个国家名,要求按字母先后顺序排列,并按升序输出。(要求:尽量使用标准字符串函数)...
  17. springboot项目部署 + vue项目部署
  18. 牛客14709 奇♂妙拆分 枚举
  19. 优课在线 实境英语作业1Unit 1-5
  20. 小学音乐课需要用到的关于《勤快人与懒惰人》的-五线谱

热门文章

  1. Firbase开启调试模式及常见问题记录
  2. C#语言实例源码系列-实现软件机器码-注册码注册机制效果
  3. 作者致谢-引用oldjavaman的文章
  4. CSDN博客使用指南:文章管理技巧、使用活动定制皮肤、自定义CSDN栏目模块技巧;新建一门学习课程;如何生成永久群二维码?
  5. word分散对齐调整宽度_活用word分散对齐
  6. Windows ID事件及解释(XP、2000、2003)【转】
  7. 1068. 图像旋转翻转变换
  8. VBScript (vbs) 脚本实例
  9. easyUI入门《十一、linkbutton基础:按钮》
  10. matplotlib库问题:UserWarning: findfont: Font family [‘MicroSoft YaHei‘] not found.Falling back