OpenCV学习笔记之一:图像基本介绍

首先我们要了解图像的构成,图像是由像素构成的,图像里的任何一个点都是一个像素

左边的图像看上去比较模糊,右上角的比较清晰一点,但是他们都是由一系列点组成的

不同在于左边的像素要低一些,而右边的像素要高一点

我们平常所说的像素其实就是构成图像的点的多少,即像素的数量,像素的大小等于行像素乘以列像素

比如像素5000W的要比500W像素要清晰

一、图像的分类

 二值图像:任何一点非黑即白,只有两个值(0,1)

灰度图像:除了黑白还有灰色,把灰度分成256中不同的颜色,即有256个值,看起来会更细腻(0-255)

RGB图像:即彩色图像(red\green\blue)

简单介绍下

比如我们随便抓取二值图像的某一个点,得到其像素,就是上图右边的形式,任何一个点都是由0或者1构成

对于灰度图像,随便抓取图像的某一个点,得到其像素,就是上图右边的形式,任何一个点都是由0到255范围之间的一个数字构成

对于彩色图像,也就是我们最常见的RGB图像,是由RGB三种三原色构成,所有颜色都可以按照不同比例的RGB进行调和得出,每种颜色的大小都是在0-255范围之内。

对于彩色图像,随便抓取图像的某一个点,得到其像素,就是上图右边的形式,任何一个点都是由三种颜色组成,每种颜色的取值0到255范围之间的一个数字构成

即彩色图

注:这里要注意的问题是在opencv里面对像素取值时,像素的顺序是BGR

二、读取像素

先看一段代码

import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",0)
img2=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
print("img1的像素为:",img1[100,100])
print("img2的像素为:",img2[100,100])

imread函数,第二个参数如果是0那么读取的就是灰度图像,如果是1则为彩色图像

img1为一个灰度图像,而img2是一个彩色图像,我们看下输出结果

runfile('/Users/admin/.spyder-py3/temp.py', wdir='/Users/admin/.spyder-py3')

img1的像素为: 22

img2的像素为: [10 20 30]

三、修改像素

修改像素比较简单,采取直接赋值的方式

import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",0)
print("img1的像素为:",img1[100,100])
img1[100,100]=100
print("img1的像素为:",img1[100,100])

输出结果:

runfile('/Users/admin/.spyder-py3/temp.py', wdir='/Users/admin/.spyder-py3')

img1的像素为: 22

img1的像素为: 100

彩色图像也是一样:

import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
print("img1的像素为:",img1[100,100])
img1[100,100]=[100,100,100]
print("img1的像素为:",img1[100,100])

输出结果:

 runfile('/Users/admin/.spyder-py3/temp.py', wdir='/Users/admin/.spyder-py3')

img1的像素为: [10 20 30]

img1的像素为: [100 100 100]

当然我们也可以批量修改一个区域:

import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
cv2.imshow("original",img1)
img1[100:150,100:150]=[100,100,100]
cv2.imshow("result",img1)
cv2.waitKey()
cv2.destroyAllWindows() 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king110108

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值