2-6_理解图像中特征信息的提取.pptxVIP

  • 3
  • 0
  • 约1.83千字
  • 约 16页
  • 2024-01-21 发布于陕西
  • 举报

计算机视觉基础知识理解特征提取

目录CONTENTS理解图像信息理解特征提取

01理解图像信息

理解图像信息(1)简单图像Windows画图软件画出来的,高度和宽度均为32个像素,中间有个矩形,矩形是黑色的,画矩形线粗是5个像素。人眼能看出来矩形,计算机能吗?(2)转换为灰度图img2=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

理解图像信息(3)输出图像的像素值图像包含32行32列,每个元素的值是0到255的灰度值#引入库importcv2#读取图像img=cv2.imread(rec2.bmp)img2=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#输出像素值foriinrange(img2.shape[0]):print(img2[i])#显示图像cv2.imshow(img,img2)#关闭窗口cv2.waitKey(0)cv2.destroyAllWindows()

理解图像信息(4)像素值组成的图形周围和中间的像素值都是255,也就是白色,而中间的0组成了矩形,并且有多行,也就是矩形本身有一定的宽度。如果把255看成白色,把0看成黑色,就是我们最初的包含了矩形的图形了。

02理解特征提取

理解特征提取(1)找出图像中的竖线试着用每一列减去左侧的列,然后看能得到什么。首先创建表示结果的图像数组img3,img3的大小与img2相同,第2行表示对所有行进行遍历第3行表示对所有列进行遍历后4行计算相邻两个像素的差值,img2是原始灰度图像。img3=np.zeros(img2.shape,np.uint8)foriinrange(img2.shape[0]):forjinrange(img2.shape[1]-1):ifimg2[i][j+1]img2[i][j]:img3[i][j]=img2[i][j+1]-img2[i][j]else:img3[i][j]=img2[i][j]-img2[i][j+1]

理解特征提取

理解特征提取(2)找出图像中的横线用下面的行减去上面的行首先创建表示结果的图像数组img3,img3的大小与img2相同第2行表示对所有行进行遍历第3行表示对所有列进行遍历后4行计算相邻两个像素的差值,img2是原始灰度图像。img3=np.zeros(img2.shape,np.uint8)foriinrange(img2.shape[0]-1):forjinrange(img2.shape[1]):ifimg2[i+1][j]img2[i][j]:img3[i][j]=img2[i+1][j]-img2[i][j]else:img3[i][j]=img2[i][j]-img2[i+1][j]

理解特征提取

理解特征提取(3)水平和垂直方向的线加起来把得到水平方向的图像和垂直方向的图像结合起来取两个图像中对应位置像素值的最大值首先创建img5数组,元素个数与原始图像相同,初始化为0然后通过双层循环对img5的每个元素赋值,值为img4和img3对应位置像素值的最大值img4和img3分别是水平操作和垂直操作的结果img5=np.zeros(img2.shape,np.uint8)foriinrange(img4.shape[0]):forjinrange(img4.shape[1]):img5[i][j]=max(img4[i][j],img3[i][j])

理解特征提取

理解特征提取小结通过相邻行相减或者相邻列相减,我们就发现了图像中的横线和竖线,这个过程实际上就是找到了图像中的一些特征,就是简单的特征提取过程。

《人工智能应用基础》小结理解图像信息通过输出图像的像素值,并按照位置把像素值组织起来,从像素值组成的图像能够看到与原始图像类似的效果。理解特征提取通过相邻行相减或者相邻列相减,发现了图像中的横线和竖线,帮助我们理解特征提取的概念。

计算机视觉基础知识理解特征提取

文档评论(0)

1亿VIP精品文档

相关文档