首页 > 编程语言 >基于形态学处理算法的迷宫路线搜索matlab仿真

基于形态学处理算法的迷宫路线搜索matlab仿真

时间:2023-03-15 23:33:13浏览次数:40  
标签:噪点 前景 迷宫 results 像素 形态学 walls matlab 图像

1.算法描述 形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征,如边界和连通区域等。同时像细化、像素化和修剪毛刺等技术也常应用于图像的预处理和后处理中,成为图像增强技术的有力补充。形态学的基本思想是利用一种特殊的结构元来测量或提取输入图像中相应的形状或特征,以便进一步进行图像分析和目标识别。

形态学处理

腐蚀:对核范围内的像素,只要有一个是非前景,则设置为背景;比如对于33的核函数,如果当前像素的33邻域内像素全是前景则保留,否者设置为背景;常用于去除较小噪声,分离物体。

膨胀:对核范围内的像素,只要有一个是前景,则设置为前景;比如对于33的核函数,如果当前像素的33邻域内像素有一个是前景则当前像素设置为前景,否者设置为背景;通常膨胀会用在腐蚀之后,腐蚀会去除小的噪声,但也会把前景变瘦,而膨胀则会再变胖。

开运算:先腐蚀,再膨胀;主要处理噪点在前景外的图像。

闭运算:先膨胀,再腐蚀;主要处理噪点在前景内的图像。

如果图像前景内外都有噪点,先开再闭 或 先闭再开 都可以得到前景图像。

形态学梯度:膨胀-腐蚀;可以得到前景轮廓。

顶帽运算:原图-开运算;可以得到前景外的噪点。

黑帽运算:闭运算-原图;可以得到前景内的噪点。

   这个课题适用于“完美迷宫”。 不使用搜索或优化方法,仅使用形态学和标准图像处理方法。 仅针对彩色和单色图像进行了测试。 包括演示迷宫,但您可以指定自己的迷宫图像。 迷宫图像应该在浅色背景上有深色墙壁。 迷宫可能会被白色包围,或者直接走到图像的边缘,并将外墙作为图像的外边界。

2.仿真效果预览 matlab2022a仿真结果如下:

2.png1.png3.png4.png

3.MATLAB核心程序

	coloredLabels = label2rgb (labeledImage, 'hsv', 'k', 'shuffle'); % pseudo random color labels
	% Display the results of this step.
	subplot(2, 2, 3);
	imshow(coloredLabels); 
	caption = sprintf('Labeled image of the %d walls, each a different color', numberOfWalls);
	title(caption, 'FontSize', fontSize);
	if numberOfWalls ~= 2
		message = sprintf('This is not a "perfect maze" with just 2 walls.\nThis maze appears to have %d walls,\nso you may get unexpected results.', numberOfWalls);
		uiwait(msgbox(message));
	end
 
	binaryImage2 = (labeledImage == 1);
	% Display the results of this step.
	subplot(2, 2, 4);
	imshow(binaryImage2, []);
	title('One of the walls', 'FontSize', fontSize);
 
	% Dilate the walls by a few pixels
	dilationAmount = 7; % Number of pixels to dilate and erode.
 
	dilatedImage = imdilate(binaryImage2, ones(dilationAmount));
 
	figure;  % Create another, new figure window.
	set(gcf, 'Position', get(0,'Screensize')); % Maximize figure.
	% Display the results of this step.
	subplot(2, 2, 1);
	imshow(dilatedImage, []);
	title('Dilation of one wall', 'FontSize', fontSize);
 
	filledImage = imfill(dilatedImage, 'holes');
	% Display the results of this step.
	subplot(2, 2, 2);
	imshow(filledImage, []);
	title('Now filled to get rid of holes', 'FontSize', fontSize);

标签:噪点,前景,迷宫,results,像素,形态学,walls,matlab,图像
From: https://blog.51cto.com/matworld/6123620

相关文章

  • 基于形态学处理算法的迷宫路线搜索matlab仿真
    1.算法描述       形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本......
  • 基于LS最小二乘法的数据拟合matlab仿真
    1.算法描述       最小均方算法,简称LMS算法,是一种最陡下降算法的改进算法,是在维纳滤波理论上运用速下降法后的优化延伸,最早是由Widrow和Hoff提出来的。该算......
  • 基于matlab的史密斯圆图演示仿真图
    1.算法描述       史密斯图表(Smithchart,又称史密斯圆图)是在反射系散平面上标绘有归一化输入阻抗(或导纳)等值圆族的计算图。是一款用于电机与电子工程学的图表,主......
  • 迷宫问题
    (啊哈哈哈鸡汤来咯)设有一个N×N(2<=N<=10)方格的迷宫,入口和出口分别在左上角和右上角。迷宫格子中分别放0和1,0表示可通,1表示不能,入口和出口处肯定是0.迷宫走的规则如下所......
  • could not find version 9.6 of matlab runtime解决方法
    背景描述:用Qt执行matlab做的.exe程序文件,报如下图错误,couldnotfindversion9.6ofthematlabRuntime.电脑上原装的是matlab2017a对应的版本是9.2解决方案:去该链接下......
  • Matlab常用图像处理命令108例(三)
    文章和代码以及样例图片等相关资源,已经归档至【Github仓库:​​digital-image-processing-matlab​​】或者公众号【AIShareLab】回复数字图像处理也可获取。26.edge功能:识......
  • 基于OFDM+STBC通信链路的误码率matlab仿真
    1.算法描述      空时分组码(STBC)与正交频分复用(OFDM)相结合的STBC-OFDM技术可以有效对抗多径效应和频率选择性衰落,在复杂通信环境中提高传输效率,降低误码率,并且编译......
  • 基于OFDM+STBC通信链路的误码率matlab仿真
    1.算法描述空时分组码(STBC)与正交频分复用(OFDM)相结合的STBC-OFDM技术可以有效对抗多径效应和频率选择性衰落,在复杂通信环境中提高传输效率,降低误码率,并且编译码简单。在Mat......
  • 基于5G密集网络模型的资源分配和负载均衡算法matlab仿真
    目录一、理论基础二、核心程序三、测试结果一、理论基础首先,5G模型的基本结构如下所示:  超密集网络是5G通信系统中的重要技术,是现在通信界的研究热点。系统中......
  • 基于模糊神经网络的异构网络环境下垂直切换算法的matlab仿真与分析
    目录一、理论基础二、核心程序三、测试结果一、理论基础切换是移动通信系统必备的关键功能之一。移动通信网络中发生在同构网络不同基站间的水平切换主要是为了保......