史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

基于图像的图形

最后一次我给你们使用新的图论的基本知识在MATLAB R2015b功能。今天我想谈谈一些功能我把文件交换从图像制作图表。你们使用基于图像分析算法有用。我将会收到反馈这些功能很感兴趣。

这个函数imageGraph创建一个图形表示图像的每个像素的邻居关系指定大小。imageGraph3做同样的事,3 d图像数组。

这个函数binaryImageGraph创建一个图形代表你的邻居关系对每个前景像素在一个二进制图像。binaryImageGraph3从3 d二进制图像数组创建一个图。

这个函数plotImageGraph阴谋创建的图imageGraphbinaryImageGraph与图节点安排在一个像素网格。

最后,函数adjacentRegionGraph从一个标签创建一个图矩阵定义的图像区域。图代表了该地区邻接关系。

内容

例如:图像与8-connected像素图

创建一个图形为480 - 640与8-connected像素图像。

g = imageGraph ((480 640), 8)
图g =属性:边缘:[1225442 x2表]节点:(307200 x3表)

图节点包含坐标、坐标和对应的图像像素的线性指数。

:g.Nodes (1:5)
ans = x y PixelIndex _ _ __________ 1 1 1 1 2 2 3 3 1 4 4 1 5 5

绘制图像图使用plotImageGraph

plotImageGraph (g)轴([100 110 220 230)

例如:图像与四连接像素图

创建一个图形为480 - 640与四连接像素图像。

g = imageGraph ((480 640), 4)
图g =属性:边缘:[613280 x2表]节点:(307200 x3表)
plotImageGraph (g)轴([100 110 220 230)

例子:形象图与特殊的连接

使用一个3×3连接矩阵来创建一个图像与6-connected像素图。每个像素连接到它的北部,东北部,东、南、西南、西的邻居。

康涅狄格州= [0 1 1;1 1 1;1 1 0];g = imageGraph(康涅狄格州(480 640));plotImageGraph (g)轴([100 110 220 230)

例如:二进制映像图

创建一个图的节点是二进制图像文本的前景像素。png(样本图像所包含的图像处理工具箱)。

bw = imread (“text.png”);imshow (bw)标题(原始图像的)
g = binaryImageGraph (bw);图plotImageGraph (g)轴([60 85 30 45])

地区图

一个标签矩阵定义了一组基于每个地区独特的矩阵元素值。例如,假设您有以下标签矩阵:

L = [10 10 3 4.5 - 4.5;10 10 3 4.5 - 4.5;20个20 3 15 15;20个20 3 15 15)
L = 10.0000 10.0000 3.0000 4.5000 4.5000 10.0000 10.0000 3.0000 4.5000 4.5000 20.0000 20.0000 3.0000 15.0000 15.0000 20.0000 20.0000 3.0000 15.0000 15.0000

这个标签矩阵定义了5个区域:

  • 一个2×2区域左上角的标记值10。
  • 一个2×2的左下角贴上价值20。
  • one-pixel-wide垂直中间区域标记值3。
  • 一个2×2的右上角贴上值4.5。
  • 一个2×2区域在右下角标示值15。

这个函数adjacentRegionsGraph返回一个与相同数量的节点图标注区域。边缘图中表明对邻近地区。

例如:区域图

计算相邻区域图。画出图,突出节点连接到15的标签。

g = adjacentRegionsGraph(左)
图g =属性:边缘:[6 x2表]节点:x1表[5]

该地区图节点包含标签。

g.Nodes
ans =标签_____ 3 4.5 10 15 20

图像的边缘包含每一对相邻地区的标签。

g.Edges
ans = ________ __________ EndNodes标签1 2 3 4.5 1 3 3 10 1 4 3 15 5 3 20 2 4 4.5 15 3 5 10 20

画出图,捕捉GraphPlot对象作为输出参数。

gp =情节(g,“NodeLabel”g.Nodes.Label)
gp = GraphPlot属性:NodeColor: 0.4470 - 0.7410 [0] MarkerSize: 4标记:“o”EdgeColor:[0 0.4470 - 0.7410]线宽:0.5000线型:”——“NodeLabel:{“3”“4.5”“十”“15”“20”}EdgeLabel: {} XData: [0.0011 0.4051 -1.3642 1.3629 -0.4048] YData:[0.0015 1.5564 -0.8540 0.8538 -1.5577]使用显示所有属性

找到该地区的邻居贴上15。

node_num =找到(g.Nodes。标签= = 15);neighbors_15 =邻居(g, node_num);突出(gp node_num neighbors_15)

下次我计划向你们展示一个基于迷宫求解……那个骗子。

我对你的爱形象图。请让我知道你的想法。

版权2015年MathWorks公司。


发表与MATLAB®R2015b

|
  • 打印

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。