[英]How to smoothen a jagged border of an image into a straight line?
我有這樣的圖像(閾值處理,噪聲消除等完成):
我的最終輸出應該是沒有任何鋸齒狀邊緣的圖像,並且小於給定圖像。 通過這個,我的意思是說,兩個圖像之間的唯一區別必須是在新圖像中,必須去除鋸齒狀邊緣,而不是填充鋸齒狀邊緣。 像這樣(最終圖像必須是紅色邊框內的區域,紅色邊框僅用於說明):
我正在考慮使用Hough變換,或者使用擴張然后使用糜爛的方法,但似乎沒有任何工作(可能是我的錯,因為我以前沒有對它們進行過多的細節處理)。
請注意,我想要的語言是MATLAB。
這有兩個主要目的:
問題,以更簡潔的形式:
編輯:一些示例圖像:
注意:所有考慮的圖像都將由大約彼此相差90度的矩形組成,而不是其他圖形。 因此,例如,對具有彎曲邊緣的圖像進行平滑處理將超出對該問題的答案的范圍(或者甚至,就此而言,梯形,盡管我認為平滑2個直邊應該是相同的,不管是否邊緣有另一個與之平行的邊緣)。
以下是一些圖片,供參考:
我不確定我的答案是否符合您的要求。 我把它放在這里因為我覺得評論太久了。
要么
將最小二乘線擬合到每兩個連續紅點之間的點(包括)
因為你在一個基本上小於原始圖像的侵蝕圖像上進行了所有這些處理,所以你應該得到一個更小的形狀
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.