How to detect the edge in following image?
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
How would I detect the edge drew in the picture below ? First I tried to remove noises using the median filter on the image. Then I averaged the values from row 220 to 225 to remove the artifact in the middle of the image. Then, I tried to use the edge function but it does not work. I am just not able to detect the edge I drew in the attached image. How would one do this? Also attached to this post is the first and second half of the image shown in the picture. I would appreciate any help!

What I have tried so far:
load("image.mat", "image");
for r = 220:225
    for c = 1:14824
        image(r,c) = (image(219,c) + image(226,c))/2;
    end
end
filteredImage = medfilt2(image(:, 1:14824), [6,6]);
imagesc(filteredImage);
colormap("gray");
BW = edge(filteredImage, "sobel",[]);
BW = bwareaopen(BW, 20, 4);
regionOfInterest = BW(200:350, :);
[rows, columns] = find(regionOfInterest);
[C, ia] = unique(columns);
rows = rows(ia) + 200;
e = fit(C,rows, "linearinterp");
hold on;
plot(e, C, rows);
and the result 

댓글 수: 9
  Image Analyst
      
      
 2022년 7월 4일
				Trial and error.  Or you could put into a nested for loop to try all combinations and see which works best.
답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


