如何获得比Otsu应用于整个图像更好的阈值图像



我试图在图像的ROI中应用Otsu的,以获得更好的输出。我当前的代码迭代如下所示,我将Otsu的应用于图像的45x45 ROI片段。输出仍然不是最好的,尤其是与自适应阈值方法相比。如何获得更清晰、全面、更好的输出?是否有其他推荐的方法在ROI内应用Otsu?

def roiOtsu(image):
size = 45
column, row, result = properties(image)
for i in range(0, column,size):
for j in range (0, row,size):
ret,result[i:i+size, j:j+size] = cv2.threshold(image[i:i+size, j:j+size],0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
return result

Otsu的方法适用于双峰图像(直方图有两个峰值的图像(,你的图像是双峰的吗?

无论如何

通过分割图像并计算每个补丁的应力保持,您可以使用自适应阈值。大津的侵入应该应用于整个图像,因此不应该这样使用。

你试过简单的吗:

otsu_threshold, image_result = cv2.threshold(
image, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU,
)
print("Obtained threshold: ", otsu_threshold)

如果结果仍然不令人满意,你可以求助于自适应方法,但要使用正确的算法。你可以从另一个答案中得到一些好的例子

希望这对你有用!

相关内容

最新更新