Hi,i am dealing with a project in which i have to detect the defected Rice grains from a sample of rice.I want to do segmentation to seprate the defected rice grains and then find the ratio of defect in the sample.kindly help me.
조회 수: 2 (최근 30일)
이전 댓글 표시
댓글 수: 0
채택된 답변
Image Analyst
2017년 12월 24일
Which ones are defective?
What I'd do is to first take a "blank shot" of just the white background, then divide that out to remove any dependencies of the non-uniform background illumination and shading. See attached background correction demo.
Then I'd threshold to find the rice grains.
binaryImage = grayImage < someThreshold;
You might want to call bwareafilt() or bwareopen() to get rid of small noise pixels
binaryImage = bwareaopen(binaryImage, 30);
Then I'd get the mean intensity of each grain.
props = regionprops(binaryImage, 'MeanIntensity');
Histogram the mean intensities to see their distribution
allIntensities = [props.MeanIntensity];
histogram(allIntensities);
grid on;
xlabel('Mean Intensity');
ylabel('Count');
Presumably you can determine defective grains based on their mean intensity. Give that code a try and come back if you need any more help.
댓글 수: 10
Ankit Rathore
2022년 2월 9일
Have you got the answer zeeshan Ahmed. I need your help and i am wirking in a similar project. Please let me know how can i reach you.
Image Analyst
2022년 2월 9일
@Ankit Rathore, yes, he did. He accepted this code as the Answer: https://www.mathworks.com/matlabcentral/answers/374388-hi-i-am-dealing-with-a-project-in-which-i-have-to-detect-the-defected-rice-grains-from-a-sample-of-r#comment_519087
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Red에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!