How to perform batch image thresholding with variable threshold for each image?
이전 댓글 표시
I have a 3d matrix of grayscale voxels that I am attempting to 'slice' into a stack of 2D images, and then perform image segmentation on each image, then recombine the result.
The problem I am having is that in the histogram, the intensity of the desired section (bone) appears to vary from image to image. Global threshold doesn't seem to work -- it includes the skin. Manual threshold works for images similar to the image in I use as the basis for determining the threshold, but fails on others. Adaptive threshold includes many portions outside the region I want, and not all the ones inside. I've also tried triangle thresholding, and hysteresis thresholding (I've had some degree of success with this but it's less than ideal.)
There are two peaks in the histogram, the dark area of empty space surrounding the subject, and the subject, respectively. The portion of the image where the intensity is beyond the second peak is the information I want.
Is anyone aware of an image thresholding technique that would enable me to output only these areas of the image?
Example (in the first image I'd want the portion where intensity > 0.425, the second > 0.5):
Image 59

Image 106

채택된 답변
추가 답변 (1개)
Image Analyst
2016년 5월 22일
편집: Image Analyst
2016년 5월 22일
0 개 추천
The standard Otsu method in graythresh works well for these kinds of high contrast, bimodal images to find thresholds between the humps. However you don't want a threshold between the humps. Triangle thresholding would be perfect for getting the thresholds you want. Maybe you're not using a good implementation of it. I wrote my own. Please upload an image so I can use it.
댓글 수: 8
Erik Johnson
2016년 5월 22일
Erik Johnson
2016년 5월 22일
편집: Erik Johnson
2016년 5월 22일
Erik Johnson
2016년 5월 22일
Erik Johnson
2016년 5월 22일
Image Analyst
2016년 5월 22일
Can you give the original image slice without all that huge white surrounding area?
Erik Johnson
2016년 5월 23일
Image Analyst
2016년 5월 24일
Well you can just crop that out since I'm sure it's a constant. I was going to show you my triangle threshold method but it looks like you've accepted an answer that works for you. Anyway good luck with the rest of your project.
Erik Johnson
2016년 5월 25일
카테고리
도움말 센터 및 File Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
