opencv数字图像处理,opencv 图像
图像处理基础numpy访问image Numpy.array库是Python图像处理的基础。
OpenCV中,通道的顺序是BGR G R。
在OpenCV中,最小的数据类型是无符号的8位数字。
您可以使用image[0,0]来访问图像的第0行和第0列位置处的像素。
第一列:img[行,列]
Numpy库中的zeros()函数可以用来生成元素值都为0的数组,数组的索引可以直接用来访问和修改。
当img=NP时。零((8,8),dtype=NP。uint8) RGB彩色图像读入OpenCV进行处理,会按照行方向依次读取RGB图像的B通道、G通道和R通道的像素,像素会按行存储在ndarray的列中。
在OpenCV中以BGR模式存储为三维数组
您可以使用表达式来访问数组中的值。
例如,您可以使用image[0,0,0]来访问image通道B中第0行和第0列的像素,其中:
第1个索引表示第0行。
第2个索引表示第0列。
第3个索引表示第0个颜色通道。
绿色通道值:绿色[:1]=255
Item()和itemset()使用numpy.array来访问像素。
Numpy.array提供item()和itemset()函数来访问和修改像素值。
函数item()可以更高效地访问图像的像素。该函数的语法格式为:
Item (row,column)函数itemset()可用于修改像素值,其语法格式为:
项目(索引值,新值)导入cv2
将numpy作为np导入
//使用Numpy中的random.randint生成随机数组
img=np.random.randint(10,99,size=[5,5],dtype=np.uint8)
value=img.item(3,2)
img.itemset((3,2),255)
打印(值)
当print(img)函数item()访问RGB模式图像的像素值时,其语法格式为:
item (row,column,channel)函数itemset()修改(设置)RGB模式图像的像素值时,其语法格式为:
项目(三重索引值,新值)
注意,对于访问RGB图像,必须同时指定行、列和行列索引(通道),比如img.item(a,b,c)。
不可能只指定行和列。
ROI:感兴趣区域
将感兴趣区域A赋给变量B后,可以将变量B赋给另一个区域C,从而达到在区域C中复制区域A的目的。
先右后上得到ROI: img[200:400,600:800]。
Opencv中的操作通道按照B- G- R的顺序存储.
按索引拆分的信道拆分b=img[:0]
g=img[:1 ]
R=img[:2] split b,g,r=cv2.split(img) by函数。
b=cv2.split(a)[0]
g=cv2.split(a)[1]
R=cv2.split(a)[2]通道合并bgr=cv2.merge([b,g,r])得到图像属性形状。
如果是彩色图像,则返回包含行数、列数和通道数的数组。
如果是二值图像或灰度图像,则只返回行数和列数。大小
返回图像的像素数。其值为“行列通道号”,灰度图像或二值图像的通道号为1。类型
返回图像的数据类型,print (image property )
打印(图像形状)
打印(img.size)
打印(img.dtype)
-
图像的属性
(5, 5)
25
Uint8示例导入cv2
将numpy作为np导入
img=np.random.randint(10,99,size=[5,5,3],dtype=np.uint8)
value=img.item(3,2,0)
img.itemset((3,2,0),255)
打印(-)
打印( img )
打印(img)
打印(-)
打印(“拆分”)
b,g,r=cv2.split(img)
打印(“b”)
打印(b)
打印(“g”)
打印(g)
打印(“r”)
打印(r)
打印(-)
打印(“合并”)
img_m=cv2.merge([b,g,r])
打印(img_m)
打印(-)
打印(“图像的属性”)
打印(图像形状)
打印(img.size)
打印(img.dtype)
风暴中的白杨
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。