如何裁剪图像到512x512像素

19次浏览(最近30天)
ctwawa
ctwawa 2021年9月11日
评论道: 图像分析 2021年9月29日1:20
我有一些图像,我想裁切所有的图像为512x512像素,并使它在一个图像的不同地点或位置。
如何使每幅图像有20个ROI,每幅图像采集的ROI不在同一点上。
1.尺寸roi 512x512像素
2.图像中的不同点/位置

接受的答案

图像分析
图像分析 2021年9月11日
好吧,看来你在回答我的另一个问题时遇到了一些困难。这就是我为你做的。这是你想要的吗?
% Demo by Image Analyst
clc;%清除命令窗口。
关闭所有%关闭所有数据(imtool.除外)
清晰;删除所有已存在的变量。或者clearvars,如果你想的话。
工作空间;%确保显示工作区面板。
格式长g
格式紧凑的
字形大小= 25;
流('开始运行%s。m…\ n”mfilename)
rgbImage = imread (“peppers.png”);
rgbImage = imresize(rgbImage, 2.5);%至少设置512行
[rows, columns, numberOfColorChannels] = size(rgbImage)
K = 1:20
topRow = cell (rand * (rows - 512));
drawtext (rand * (columns - 512));
croppedImage = rgbImage(topRow: topRow + 511, leftColumn: leftColumn + 511,:);
次要情节(5 4 k);
imshow (croppedImage);
轴(“上”“图像”);
标题= sprintf ('行= % d,坳= % d '、topRow leftColumn);
标题(标题);
drawnow;
结束
g = gcf;
g.WindowState =“最大化”
流(“运行% s.m。\ n”mfilename)
6个评论
图像分析
图像分析 2021年9月29日1:20
如果映像在磁盘上,可以使用imread()。

登录评论。

答案(1)

图像分析
图像分析 2021年9月11日
如何指定开始和结束的行和列?或者你想要以交互方式(比如ginput)来完成它?基本上,一旦你知道了,它
croppedImage = rgbImage(topRow: topRow + 511, leftColumn: leftColumn + 511,:);
所以你只需要定义topRow和leftColumn。

下载188bet金宝搏


释放

R2015a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!