How to smooth edges of polygons?
이전 댓글 표시
I created a image (uint8) with multiple filled polygons. First, I used the vision.ShapeInserter with 'Antialiasing' but this was not enough. Also insertShape + 'SmoothEdges' produced insufficient smooth edges. Are there any other ways how I can fix that?
Looking forward to your suggestions. Thanks!
답변 (2개)
Andrew Chen
2017년 10월 12일
Ex:
se = strel('disk',5);
new_img = imopen(original_image,se);
Hope this helps!
댓글 수: 3
m975
2017년 10월 13일
Andrew Chen
2017년 10월 13일
Did Image Analyst's answer get you what you wanted? Otherwise, maybe you could clarify what you mean by "smooth edges". What in your mind constitutes a sufficiently smooth edge?
m975
2017년 10월 13일
Image Analyst
2017년 10월 13일
0 개 추천
You can smooth the edges with a filter. See attached.
댓글 수: 8
m975
2017년 10월 13일
Image Analyst
2017년 10월 13일
I don't know how they were created and what they are. If they are images, are they grey scale, or binary? If they're binary images, you can smooth them nicely by blurring with conv2() or imfilter() and then thresholding.
Image Analyst
2017년 10월 13일
m975's "Answer" moved here because it's not an "Answer" to the original question, but a reply to me.
I opened an image with
image = zeros(PicHeight,PicWidth,3,'uint8') + 255;
and inserted polygons with the vision.ShapeInserter. Finally, I saved the images with imwrite as PNG.
Image Analyst
2017년 10월 13일
OK, then blurring should work, like I said. Did you try it? If not, why not?
blurredImage = imfilter(grayImage, ones(9)/81);
m975
2017년 10월 13일
Image Analyst
2017년 10월 13일
It looks binary, so just threshold it. The corners should then be more rounded off.
m975
2017년 10월 13일
m975
2017년 10월 19일
카테고리
도움말 센터 및 File Exchange에서 Get Started with Computer Vision Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




