如何选择基于该算法的ROI。或者我可以从这段只有骨头的部分图片。

2视图(30天)
算法:
1。开始
2。读输入图像,我
3所示。调整我输入图像,通过规模0.15的
调整大小Iresized形象。
4所示。应用首先进行图像分割[14],Iresized。
5。计算每个地区的面积阈值图像,
Iotsu。
6。选择面积最大的地区的投资回报率。
7所示。计算它的倾向。
8。正确的骨的倾向使用公式
8.1。如果骨头向右倾斜,然后这是旋转
由一个角等于逆时针方向
90 -角(即Anglecorrected = 90 - Angleoriginal)
8.2。但如果骨头是倾向于左边,然后它是
旋转顺时针方向的一个角等于
90 -角(例如Anglecorrected = - 90
Angleoriginal)。在这里,将获得的价值
负的。这表示应的形象
旋转顺时针方向。
9。的新获得的图像是Irot。下一个,坐标的
区域的边界框的最大区域
以上图像。
10。使用这些坐标包含骨的一个矩形
区域(ROI)Irot裁剪的图像。新
图像获得Icrop,这是最后的预处理
图像Inew。
11。停止
这个结果的样本所示结果。png(根据一篇文章:https://pdfs.semanticscholar.org/8ea1/eeea2f00c58a6a9a959355d6cc8eebf686cd.pdf)。我想要相同的图像,我的数据库的样本图像是12490年,2425年和8823年。我尝试以下代码到第9步。
我= imread (“12493. png”);
J = imresize(我,0.5);
imshow (J);
水平= graythresh (J);%全球形象使用大津阈值的方法
BW = imbinarize (J、水平);
imshowpair (J, BW,“蒙太奇”)
blobMeasurements = regionprops (BW,“区域”);%二进制图像中对象的领域
%的所有领域
allAreas = [blobMeasurements.Area];
[sortedAreas, sortIndexes] =排序(allAreas,“下”);
numberToExtract = 1;
biggestBlob = ismember (BW sortIndexes (1: numberToExtract));
imshow (biggestBlob);%马克斯ROI
统计= regionprops (BW,“定位”);%的倾向
Angleoriginal = (1) .Orientation统计数据;
如果Angleoriginal < 90
Anglecorrected = 90 - Angleoriginal;
其他的
Anglecorrected = -90 - Angleoriginal;
结束
I_rot = ismember (biggestBlob Anglecorrected);
imshow (I_rot);%我腐烂图像(第9步)
现在我得到一个黑色的平方第9步后输出在这个阶段吗?我已经错误和如何进一步继续. .
3评论

登录置评。

答案(4)


Constantino教授卡洛斯Reyes-Aldasoro
一个问题,我没有labeledImage
biggestBlob = ismember (labeledImage sortIndexes (1: numberToExtract));
未定义的labeledImage的函数或变量。


Guillaume
Guillaume 2018年7月20日
现在我得到一个黑色的平方第9步后输出在这个阶段吗?
嗯,难怪你考虑到第9步是:
I_rot = ismember (biggestBlob Anglecorrected);
这完全没有道理。我甚至不能开始理解为什么你会认为 ismember 将是有用的。
如果你想实现一个旋转:
I_rot = imrotate (biggestBlob Anglecorrected);
4评论
恋人K
恋人K 2018年7月20日
编辑:恋人K 2018年7月20日
我是一个初学者在解决一个算法matlab先生。尝试它。我将和你一起去,你能告诉我如何进一步解决算法的步骤9和10。这对于我的输入图像,我得到输出的结果。png图像。现在输入图像和输出图像。

登录置评。

类别

找到更多的在核磁共振成像帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!