简体   繁体   English

分叉和山脊终点

[英]Bifurcation and ridge ending point

Is there any way to find Bifurcation point and ridge ending point in a Image (hand, vein), by using a Java code only not Matlab etc.? 是否可以通过仅使用Java代码而不是Matlab等方法找到图像(手,静脉)中的分叉点和山脊终点? Can I achieve this by ImageJ Library of Java? 可以通过Java的ImageJ库实现吗?

A scientific description you find in Minutiae Extraction from Fingerprint Images . 您可以从指纹图像的细节提取中找到科学的描述。 Some algorithms are implemented in OpenCV see the segmentation section. 一些算法在OpenCV中实现,请参见细分部分。

The OpenCV library can be linked to java using JNI. 可以使用JNI将OpenCV库链接到Java。

There is an ImageJ plugin that could help you to do that: 有一个ImageJ插件可以帮助您做到这一点:

AnalyzeSkeleton (for the source see here ) AnalyzeSkeleton (有关源,请参见此处

You can extract branching points and endpoints with the help of its SkeletonResult class. 您可以借助其SkeletonResult类提取分支点和端点。

Many thanks to help me out I went through AnalyzeSkeleton and got the result in SekeletonResult Response by Using IJ. 非常感谢我的帮助,我通过AnalyzeSkeleton并通过使用IJ在SekeletonResult Response中得到了结果。 for this I have used IJ.run(imp, "Skeletonize", ""); 为此,我使用了IJ.run(imp,“ Skeletonize”,“”);

 // Initialize AnalyzeSkeleton_
  AnalyzeSkeleton_ skel = new AnalyzeSkeleton_();
 skel.calculateShortestPath = true;
 skel.setup("", imp);

 // Perform analysis in silent mode
 // (work on a copy of the ImagePlus if you don't want it displayed)
 // run(int pruneIndex, boolean pruneEnds, boolean shortPath, ImagePlus origIP, boolean silent, boolean verbose)
 SkeletonResult skelResult = skel.run(AnalyzeSkeleton_.NONE, false, true, null, true, false);

 // Read the results
 Object shortestPaths[] = skelResult.getShortestPathList().toArray();
 double branchLengths[] = skelResult.getAverageBranchLength();
 int branchNumbers[] = skelResult.getBranches();

 long totalLength = 0;
 for (int i = 0; i < branchNumbers.length; i++) {
     totalLength += branchNumbers[i] * branchLengths[i];
 }

 double cumulativeLengthOfShortestPaths = 0;
 for (int i = 0; i < shortestPaths.length; i++) {
     cumulativeLengthOfShortestPaths +=(Double)shortestPaths[i];
 }
  System.out.println("totalLength "+totalLength);
  System.out.println("cumulativeLengthOfShortestPaths "+cumulativeLengthOfShortestPaths);
System.out.println("getNumOfTrees "+skelResult.getNumOfTrees());
System.out.println("getAverageBranchLength "+skelResult.getAverageBranchLength().length);
System.out.println("getBranches "+skelResult.getBranches().length);
System.out.println("getEndPoints "+skelResult.getEndPoints().length);
System.out.println("getGraph "+skelResult.getGraph().length);
System.out.println("getJunctions "+skelResult.getJunctions().length);
System.out.println("getJunctionVoxels "+skelResult.getJunctionVoxels().length);
System.out.println("getListOfEndPoints "+skelResult.getListOfEndPoints().size());
System.out.println("getListOfJunctionVoxels "+skelResult.getListOfJunctionVoxels().size());
System.out.println("getMaximumBranchLength "+skelResult.getMaximumBranchLength().length);
System.out.println("getNumberOfVoxels "+skelResult.getNumberOfVoxels().length);
System.out.println("getQuadruples "+skelResult.getQuadruples().length); this method .but I am not able to find which method in Skeleton Result class returns bifuraction point could you please help me little more thanks Amar

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM