我试图使用下面的代码读取ImageJ XY坐标文件(附件),但我得到一个奇怪的输出。你知道我做错了什么吗?
clc;
clear;
close all;
imgMatrix = readmatrix("E:/fd1.txt");
imgMatrix(:,3) = []
x=imgMatrix(:,1);y=imgMatrix(:,2);
BW = poly2mask(x,y,ceil(max(y)) ,ceil(max(x)));
imshow(BW);
字符串
原始图像:
的数据
输出图像:
的
fd1.txt文件:https://mega.nz/file/vE0SxDgb#rQuWCsH8H2fYvuzGTSMgjyMMdyZGfQYMhLJ3zdXcJB4
非常感谢
2条答案
按热度按时间mbskvtky1#
下面请找到一个ImageJ宏,它保存了二进制值图像的轮廓坐标:
字符串
xj3cbfub2#
我必须承认,我没有使用 MATLAB 的经验,但让我解释一下 ImageJ 使用的格式,如果你按照“分析>>工具>>保存XY坐标."导出值。
如果,像在讨论的情况下,8位灰度值图像的背景是黑色(零),我会首先反转图像(重要!),并在“保存XY坐标”对话框中设置背景值为零,以及检查“反转y坐标关闭”。
在下面,我将提供一个 ImageJ 宏,它通过从必须以后缀“.tsv”而不是“.txt”保存的数据重建图像来间接解释数据的结构。首先在 ImageJ 中打开此数据文件,然后运行宏:
字符串
HTH