demon2

作者: 长歌行夜一 | 来源:发表于2020-04-23 00:33 被阅读0次

图像处理基础

1.图像的基本表示法

二值图像:仅仅包含黑色和白色两种颜色的图像(由黑色像素点和白色像素点组成)

灰度图像:与而至图像相比,采用更多的数值来表示不同的颜色。计算机会将灰度处理为256个灰度级,数值在【0,255】,255表示纯白色,0表示纯黑色。于是图像可以用数值在【0,2555】间的矩阵表示。

彩色图像:在视网膜上存在三种不同的颜色感受器(红绿蓝,即三基色)。从光学的角度可以将颜色解析为主波长、纯度、明度等。从心理学和视觉的角度,可以将颜色解析为色调、饱和度、亮度等。通常,我们将上面用不同的方式描述颜色的模式称为色彩空间,或颜色空间、颜色模式等。不同的颜色模式之间是可以相互转换的。RGB是常用的色彩空间之一,每个色彩通道的范围都在【0,255】。一般情况下,RGB色彩空间的通道顺序为R->G->B, 但在OpenCV中,通道顺序为B->G->R.


2.像素处理

1)二值图像以及灰度图像

在OpenCV中,最小的数据类型是无符号的8位数。因此在OpenCV中,并没有二值图像这种数据类型,二值图像是经过处理得到的。然后0表示黑,255表示白。

import cv2

import numpyas np

imgs = np.zeros((8,8),dtype=np.uint8)

print("imgs show",imgs,sep='\n')

cv2.imshow('imgs',imgs)

# 修改部分像素

imgs[3:6,3:6] =255

print(imgs)

cv2.imshow('imgs debug',imgs)

cv2.waitKey(0)

cv2.destroyAllWindows()


你也可以处理灰度图像:

2)彩色图像

RGB模式的彩色图像在OpenCV处理时,会按照B->G->R的颜色通道处理各个像素点,得到一个三维数组(行,列,颜色通道)。

当然你也可以改变某一通道的颜色值。imgs[100:300,100:300,2] = 52。这样将某一区域的蓝色通道值改为52.

我们也可以用numpy生成一副彩色图像。

我们亦可以不用索引使用numpy.array的item方法获取特定点数据,或用itemset()修改某一点数据。

3)通道操作

cv2.split()函数可以实现通道的拆分

cv2.merge()可以实现图像通道的合并。默认通道顺序为b ,g, r。

4)获取图像的属性

shape: 图像的形状。返回包含行数、列数、通道数(彩色图像有)。

size: 返回图像的像素数目,行数*列数*通道数。 灰度图或者二值图的通道数为1。

dtype: 返回图像的数据类型。

相关文章

  • 运算法则2

    public class Demon2 {public static void main(String[] arg...

  • demon2

    图像处理基础 1.图像的基本表示法 二值图像:仅仅包含黑色和白色两种颜色的图像(由黑色像素点和白色像素点组成) 灰...

  • 方法的调用回顾总结

    静态方法只能调用静态的 非静态方法可以调用静态的package oop; public class Demon2 ...

网友评论

      本文标题:demon2

      本文链接:https://www.haomeiwen.com/subject/vumsvhtx.html