% 设置棋盘大小和格子数
boardSize = 15; % 棋盘大小,这里设置为15x15
gridSize = 40; % 每个格子的大小,用于图像显示
% 创建一个空白图像,大小为 (gridSize * (boardSize + 1)) x (gridSize * (boardSize + 1))
imageSize = gridSize * (boardSize + 1);
chessboardImage = ones(imageSize, imageSize);
% 绘制水平线
for i = 1:boardSize+1
chessboardImage(gridSize*i, :) = 0; % 0代表黑色,这里将水平线的像素值设为黑色
end
% 绘制垂直线
for j = 1:boardSize+1
chessboardImage(:, gridSize*j) = 0; % 0代表黑色,这里将垂直线的像素值设为黑色
end
% 显示生成的棋盘图像
% imshow(chessboardImage);
% title('生成的五子棋棋盘图像');
% 反转黑白颜色
invertedImage = imcomplement(chessboardImage);
% 显示反转后的图像
% imshow(invertedImage);
% title('黑白反转后的棋盘图像');
% 获取图像的大小
imageSize = size(invertedImage);
% 随机选择一个角落
corner = randi([1, 2], 1, 2); % 生成1x2的随机数,取值为1或2,分别表示左上、右上、左下、右下四个角落
% 定义腐蚀的区域范围
if corner(1) == 1
row_range = 1 : floor(imageSize(1) / 2);
else
row_range = ceil(imageSize(1) / 2) + 1 : imageSize(1);
end
if corner(2) == 1
col_range = 1 : floor(imageSize(2) / 2);
else
col_range = ceil(imageSize(2) / 2) + 1 : imageSize(2);
end
% 在指定区域进行腐蚀操作
se = strel('square', 3); % 定义腐蚀的结构元素,这里使用3x3的正方形
erodedImage = invertedImage;
erodedImage(row_range, col_range) = imerode(invertedImage(row_range, col_range), se);
% 显示腐蚀后的图像
% imshow(erodedImage);
% title('腐蚀一个角落后的图像');
% 获取图像的大小
imageSize = size(erodedImage);
% 定义网格交点像素坐标列表
intersectionPoints = [];
% 遍历图像的每个像素
for row = 2:imageSize(1)-1
for col = 2:imageSize(2)-1
% 检查当前像素是否为黑色(腐蚀后的交叉点)
if erodedImage(row, col) == 1
% 检查当前像素所在的行和列是否都包含黑色像素
rowPixels = erodedImage(row, :);
colPixels = erodedImage(:, col);
if sum(rowPixels == 1) > 100 && sum(colPixels == 1) > 100
% 添加网格交点像素坐标到列表
intersectionPoints = [intersectionPoints; [row, col]];
end
end
end
end
% 显示腐蚀后的图像
imshow(erodedImage);
title('腐蚀后的图像');
% 显示网格交点像素坐标
disp('腐蚀后图像的网格交点像素坐标:');
disp(intersectionPoints);
% 显示原图
imshow(erodedImage);
title('腐蚀后的图像');
% 将网格交点在原图中用标记表示出来
hold on;
plot(intersectionPoints(:, 2), intersectionPoints(:, 1), 'r+', 'MarkerSize', 10);
hold off;
等风来1249
- 粉丝: 28
- 资源: 32
最新资源
- BaldisBasicsClassic.apk
- 跨语言神经音频编解码模型VALL-E X实现语音合成与翻译
- IMG_20241225_230314.jpg
- AT89C51单片机阳台绿色植物自动喷灌系统设计
- 电视盒子的远程输入法应用,可跨屏远程输入和跨屏远程控制盒子.7z
- Web前端-HTML+CSS-炫酷圣诞树
- 2×300MW火电厂电气一次部分设计
- 110kV商桥-柳村架空送电线路设计
- 多媒体流媒体领域的多编解码器DASH数据集研究与评价
- AT89C51单片机智能小区电子门控制系统的设计
- AT89C51节水灌溉自动控制系统的设计
- 软件设计模式创建型模式五项作业
- 2008-2020年各省技术服务水平相关指标数据
- MINI发票打印助手v1.0
- 锂电池固态电解质的应用和研究进展
- 扫描全能王6.41.0.230531高级版.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈