How to detect larger corners in an image?
이전 댓글 표시
Hi,
I am having trouble understanding how to use "corner". An image of my problem can be found here:
Basically, I'm picking up lots of speckles in my photo, but not a lot of what I'd consider to be corners. Based on my understanding of how corner detection algorithms work, I think I'd like the area used to compare the pixel to it's neighbors to be larger (but I could be wrong). How is this accomplished? Thanks in advance!
-Jen
채택된 답변
추가 답변 (1개)
Image Analyst
2013년 6월 20일
0 개 추천
Try adjusting some of the optional input parameters of corner(). If that doesn't work, filter out the bad ones with bwarea(), or prefilter the image by thresholding it.
Second option is to use hough() or houghlines() and look for where lines intersect.
Third option is to use bwboundaries() and find the kinks in the boundary using the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_find_.22kinks.22_in_a_curve.3F
댓글 수: 3
John
2013년 6월 20일
Image Analyst
2013년 6월 20일
Your first statement is not true. You get the lines then you have to figure out where lines that are perpendicular to each other intersect. The hough is just the first step and the intersection-finding is the second step.
I'm not sure why you want to use grayscale images and edge() (which I did not recommend), rather than binary images, bwboundaries(), and the FAQ code for finding kinks like I recommended.
John
2013년 6월 20일
카테고리
도움말 센터 및 File Exchange에서 Hough Transform에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!