图像处理基础

图像的基本表示方法

二值图像

二值图像是指只含有黑色和白色的图像,白色的像素点处理为“1”,黑色的像素点处理为“0”

灰度图像

计算机会将灰度处理为256个灰度级,用数值区间[0,255]来表示

彩色图像

在RGB色彩空间中,图像通道的顺序是R→G→B ,但是在OpenCV中,通道的顺序是B→G→R

  1. B 第一个通道保存B通道的信息
  2. G 第二个通道保存G通道的信息
  3. R 第三个通道保存R通道的信息

图像的基本操作

图像的读取

retval = cv2.imread(filename[, flags])
● retval 是返回值,其值是读取到的图像
● filename 是要读取图像的完整文件名
● flags是读取标记,用来控制读取文件的类型


image-20240306110207067.png

图像的显示

None = cv2.imshow(window, image)
● window是窗口的名字
● image是要显示的图像

waitKey()函数用来等待按键
retval= cv2.waitKey([delay])
● retval是返回值
● delay表示等待键盘触发的时间,单位是ms。当该值为负数或0时表示无限等待,默认值为0

destroyAllWindows函数用来释放所有窗口
None = cv2.destroyAllWindows()

图像的保存

retval= cv2.imwrite(filename, img[, params])
● retval是返回值
● filename是要保存的图像的完整路径名,包括文件的扩展名
● img是要保存的图像的名字
● params是保存的类型参数,可选

图像通道的基本操作

拆分图像的通道

b, g, r = cv2.split(img)
● b、g、r分别是B通道、G通道、R通道的图像信息
● img是要拆分的图像

获取图像属性

● shape:表示图像的大小。如果是彩色图像,则返回包含行数、列数和通道数的数组;如果是二值图像或灰度图像,则返回包含行数和列数的数组
● size:表示返回的图像的像素数目
● dtype:表示返回的图像的数据类型

Numpy.array 初识

Numpy是Python的一种开源的数值计算扩展,用来处理多维数组

图像运算

加法运算

在面向Python的OpenCV中有两种方法可以实现图像的加法运算。一种是通过运算符“+”对图像进行加法运算,另一种是通过cv2.add()函数来实现对图像的加法运算

运算符“+”

image-20240306140209276.png

a和b表示两幅图像的像素值,mod(a+b,256) 表示“a+b的和除以256取余

cv2.add()函数

result = cv2.add(a, b)
● result表示计算的结果
● a和b表示需要进行加法计算的两个像素值


image-20240306140507849.png

减法运算

一种是通过运算符“-”对图像进行加法运算,另一种是通过cv2.subtract()函数来实现对图像的减法运算

运算符“-”

image-20240306140729152.png

cv2.subtract()函数

result = cv2.subtract(a,b)
● result表示计算的结果
● a和b表示需要进行减法计算的两个像素值


image-20240306140920047.png

乘法运算

图像乘法运算有矩阵乘法和矩阵的点乘两种。面向Python的OpenCV提供了cv2. mutiply()函数进行矩阵的点乘运算,Python为矩阵的乘法运算提供了dot()函数

矩阵乘法

result = np.dot(a,b)
● result表示计算的结果
● a和b表示需要进行矩阵乘法计算的两个像素值矩阵

矩阵点乘运算

result = cv2.multiply(a,b)
● result表示计算的结果
● a和b表示需要进行矩阵点乘的两个像素值矩阵

除法运算

除法运算应用在图像中即为矩阵的点除运算,面向Python的OpenCV提供了cv2. divide()函数来进行像素矩阵的点除运算

result = cv2.divide(a, b)
● result表示计算的结果
● a和b表示需要进行矩阵点除的两个像素值矩阵

逻辑运算

按位与

dst = cv2.bitwise_and(src1, src2[, mask])
● dst表示与输入值具有相同大小的输出值
● src1表示第一个输入值
● src2表示第二个输入值
● mask表示可选操作掩码

按位或

dst = cv2.bitwise_or(src1, src2[, mask])
● dst表示与输入值具有相同大小的输出值
● src1表示第一个输入值
● src2表示第二个输入值
● mask表示可选操作掩码

按位非

dst = cv2.bitwise_not(src[, mask])
● dst表示与输入值具有相同大小的输出值
● src表示输入值
● mask表示可选操作掩码

按位异或

dst = cv2.bitwise_xor(src1, src2[, mask])
● dst表示与输入值具有相同大小的输出值
● src1表示第一个输入值
● src2表示第二个输入值

● mask表示可选操作掩码

图像的色彩空间转换

色彩空间类型转换函数

dst = cv2.cvtColor(src, code[, dstCn])
● dst表示与输入值具有相同类型和深度的输出图像
● src表示原始输入图像
● code是色彩空间转换码,常见的枚举值如表


image-20240306160732418.png

RGB色彩空间

RGB色彩空间使用三个数值向量表示色光三基色(Red、Green、Blue)的亮度。每个通道的数量值被量化为8~256个数,因此,RGB图像的红、绿、蓝三个通道的图像都是一幅8位图

GRAY色彩空间

GRAY色彩空间一般是指8位灰度图,像素值的范围是0~255,共256个灰度级。由RGB色彩空间转换为GRAY色彩空间的标准公式为
Gray=0.299 · R+0.587 ·G+0.114 · B

YCrCb色彩空间

在传统的RGB色彩空间中并没有亮度的信息,YCrCb色彩空间弥补了这个遗憾。在YCrCb色彩空间中,Y代表亮度,Cr和Cb保存色度信息,其中Cr表示红色分量信息,Cb表示蓝色分量信息
Y=0.299 ·R+0.587 ·G+0.114 ·B
Cr=(R-Y)· 0.713+delta
Cb=(B-Y)· 0.564+delta
R、G、B分别表示RGB色彩空间的三通道信息,delta的值为

image-20240306161302169.png

HSV色彩空间

HSV是从心理学角度提出的,它包括色调、饱和度和亮度三要素。其中,色调是指光的颜色,与混合光谱的主要光波长有关;饱和度是指颜色深浅程度或相对纯净度;亮度反映的是人眼感受到的光的明暗程度

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容